$z-index-1: 111;
$z-index-2: 222;
$z-index-3: 333;
$z-index-4: 444;
$z-index-5: 555;
$z-index-6: 666;
$z-index-7: 777;
$z-index-8: 888;
$z-index-9: 999;

.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: unset !important;
    top: 10px !important;
    right: 10px !important;
    left: unset !important;
    width: unset !important;
}

.dplayer-controller .dplayer-icons .dplayer-full .dplayer-full-in-icon {
    display: none !important;
}

@keyframes rotateCount {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes progress {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 30px 0;
    }
}

@keyframes drawing {
    100% {
        stroke-dashoffset: -400;
    }
}

@keyframes swingIconSet {
    0% {
        transform: rotate(-30deg);
    }
    100% {
        transform: rotate(30deg);
    }
}

@keyframes showComment {
    0% {
        transform: translate3d(0, 100px, 0);
        opacity: 0;
    }
    100% {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes scaleLove {
    0% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(0.8);
    }
}

@keyframes showFullLoad {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes waveMove {
    0% {
        background-position: 0 100%;
    }
    100% {
        background-position: -20px 100%;
    }
}

@keyframes jSlideUp {
    0% {
        opacity: 0.75;
        transform: translate3d(0, 50px, 0);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

.jSlideUp {
    animation-name: jSlideUp;
}

@keyframes jScale {
    0% {
        opacity: 0.75;
        transform: scale(0.5);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.jScale {
    animation-name: jScale;
}

@keyframes jScaleUp {
    0% {
        opacity: 0;
        transform: translate3d(0, 50px, 0) scale3d(0.75, 0.5, 1);
    }
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
    }
}

@keyframes showTabs {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.jScaleUp {
    animation-name: jScaleUp;
}

.wow {
    visibility: hidden;
    &.off {
        visibility: visible;
    }
}

::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}

::-webkit-scrollbar-thumb {
    border-radius: 3.5px;
    background-color: rgba(50, 50, 50, 0.3);
    &:hover {
        background-color: rgba(50, 50, 50, 0.4);
    }
}

::-webkit-scrollbar-track {
    border-radius: 3.5px;
    background-color: rgba(50, 50, 50, 0.1);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    outline: none;
}

body {
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
    font-size: 14px;
    font-family: -apple-system, SF UI Text, Arial, PingFang SC, Hiragino Sans GB, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
}

a {
    color: var(--main);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

li {
    list-style: none;
}

img,
canvas {
    border: 0;
    vertical-align: middle;
}

input,
button,
textarea {
    outline: none;
    border-radius: 0;
}

button {
    cursor: pointer;
}

img[src=''],
img:not([src]) {
    border: 0;
    opacity: 0;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

#live2d-widget {
    z-index: 1 !important;
}

.j-barrager-list {
    display: none;
}

.j-barrager {
    display: flex;
    align-items: center;
    position: fixed;
    user-select: none;
    z-index: $z-index-3;
    height: 34px;
    border-radius: 17px;
    padding: 0 10px 0 7px;
    background: rgba(0, 0, 0, 0.75);
    pointer-events: none;
    img {
        width: 24px;
        height: 24px;
        margin-right: 5px;
        border-radius: 50%;
    }
    p {
        max-width: 500px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 12px;
        color: var(--background);
        line-height: 24px;
        img {
            display: none;
        }
        .owo {
            display: inline-block;
            border-radius: 0;
            margin-right: 0;
            vertical-align: top;
        }
    }
}

.j-drop {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.j-loading {
    position: fixed;
    right: 10px;
    width: 30px;
    height: 30px;
    z-index: $z-index-6;
    path,
    rect {
        fill: var(--theme);
    }
    &.full {
        display: flex;
        align-items: center;
        justify-content: center;
        top: 0 !important;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(10px);
        z-index: $z-index-8;
        animation: showFullLoad 0.25s;
        svg {
            width: 200px;
            height: 200px;
        }
        img {
            width: 50px;
        }
    }
}

.j-dropdown {
    position: absolute;
    left: 50%;
    transform: translateX(-50%) perspective(600px) rotateX(-45deg);
    visibility: hidden;
    opacity: 0;
    z-index: $z-index-4;
    border-top: 3px solid var(--theme);
    transition: opacity 0.35s, visibility 0.35s, transform 0.35s;
    transform-origin: top;
    background: var(--background);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    border-radius: 0 0 4px 4px;
    padding: 10px 0;
    text-align: center;
    &::before {
        content: '';
        position: absolute;
        top: -10px;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        border-bottom: 7px solid var(--theme);
    }
    &.active {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) perspective(600px) rotateX(0);
    }
    a {
        display: block;
        padding: 0 15px;
        line-height: 36px;
        height: 36px;
        color: var(--minor);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        &:hover {
            color: var(--theme);
            background: var(--classD);
        }
        &.active {
            color: var(--theme);
        }
    }
}

.j-header-default {
    position: sticky;
    top: 0;
    background: var(--background);
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
    z-index: $z-index-5;
    width: 100%;
    user-select: none;
    .progress {
        position: absolute;
        left: 0;
        bottom: -3px;
        height: 3px;
        background: var(--theme);
        opacity: 0.75;
        z-index: $z-index-6;
        border-radius: 0 1.5px 1.5px 0;
        transition: width 0.35s;
    }
    .above {
        border-bottom: 1px solid var(--classC);
        .container {
            display: flex;
            align-items: center;
            .logo {
                position: relative;
                display: flex;
                align-items: center;
                font-size: 0;
                height: 60px;
                padding-right: 15px;
                margin-right: 15px;
                &::after {
                    content: '';
                    position: absolute;
                    top: 50%;
                    right: 0;
                    width: 1px;
                    height: 20px;
                    background: var(--classB);
                    transform: translateY(-50%);
                }
                a {
                    img {
                        max-width: 150px;
                        max-height: 50px;
                        object-fit: cover;
                    }
                }
            }
            .nav {
                display: flex;
                align-items: center;
                .link {
                    position: relative;
                    height: 60px;
                    line-height: 60px;
                    font-size: 15px;
                    padding: 0 8px;
                    margin-right: 15px;
                    transition: color 0.35s;
                    white-space: nowrap;
                    &::after {
                        content: '';
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        right: 0;
                        height: 3px;
                        opacity: 0;
                        transition: opacity 0.35s, transform 0.35s;
                        border-radius: 6px 6px 0 0;
                        transform: scale3d(0, 0, 0);
                        background: var(--theme);
                    }
                    &:hover:not(.drops) {
                        color: var(--theme);
                        &::after {
                            opacity: 1;
                            transform: scale3d(1, 1, 1);
                        }
                    }
                    &.active:not(.drops) {
                        color: var(--theme);
                        &::after {
                            opacity: 1;
                            transform: scale3d(1, 1, 1);
                        }
                    }
                    &.drops {
                        color: var(--main);
                        svg {
                            width: 15px;
                            height: 15px;
                            fill: var(--main);
                            margin-left: 5px;
                            margin-top: -3px;
                        }
                        .j-dropdown {
                            min-width: 120px;
                            max-width: 150px;
                        }
                    }
                }
            }
            .search {
                position: relative;
                display: flex;
                align-items: center;
                height: 60px;
                margin-left: auto;

                input {
                    background: var(--classC);
                    width: 170px;
                    height: 34px;
                    border: none;
                    border: 1px solid transparent;
                    padding: 0 20px;
                    color: var(--routine);
                    transition: border-color 0.35s, background 0.35s;
                    font-size: 13px;
                    border-radius: 17px 0 0 17px;
                    &:focus {
                        background: var(--background);
                        border-color: var(--theme);
                        ~ span {
                            transform: translate3d(0, -50%, 0) rotateY(180deg);
                        }
                    }
                }
                button {
                    position: relative;
                    z-index: 1;
                    height: 34px;
                    border: none;
                    background: var(--theme);
                    color: var(--background);
                    font-size: 13px;
                    border-radius: 0 17px 17px 0;
                    padding: 0 10px;
                }
                span {
                    position: absolute;
                    top: 50%;
                    left: 142px;
                    width: 28px;
                    height: 38px;
                    background: url(../img/search.png);
                    background-size: 100% 100%;
                    transition: transform 0.35s;
                    transform: translate3d(100%, -50%, 0) rotateY(180deg);
                }
            }
            .slide {
                display: none;
                position: relative;
                width: 20px;
                height: 20px;
                span {
                    display: block;
                    position: absolute;
                    height: 2px;
                    width: 20px;
                    opacity: 1;
                    left: 0;
                    transform: rotate(0deg);
                    top: 0;
                    background-color: var(--routine);
                    border-radius: 2px;
                    transition: top 0.35s ease, transform 0.35s, opacity 0.35s;
                    &:nth-child(2) {
                        top: 9px;
                    }
                    &:nth-child(3) {
                        top: 18px;
                    }
                }
                &.active {
                    span:nth-child(1) {
                        top: 9px;
                        transform: rotate(45deg);
                    }
                    span:nth-child(2) {
                        opacity: 0;
                    }
                    span:nth-child(3) {
                        top: 9px;
                        transform: rotate(-45deg);
                    }
                }
            }
            .search-toggle {
                display: none;
                text-align: center;
                width: 30px;
                height: 30px;
                line-height: 30px;
                margin-left: 15px;
                svg {
                    display: none;
                    width: 20px;
                    height: 20px;
                    fill: var(--routine);
                    vertical-align: middle;
                }
                .open {
                    display: inline-block;
                }
                &.active {
                    .open {
                        display: none;
                    }
                    .close {
                        display: inline-block;
                    }
                }
            }
            .search-toggle-xs {
                display: none;
                width: 20px;
                height: 20px;
                fill: var(--routine);
            }
        }
    }
    .below {
        .container {
            display: flex;
            align-items: center;
            .nav {
                display: flex;
                align-items: center;
                flex: 1;
                width: 0;
                .link {
                    position: relative;
                    height: 45px;
                    line-height: 45px;
                    margin-right: 15px;
                    color: var(--minor);
                    &:hover {
                        color: var(--theme);
                    }
                    &.active {
                        color: var(--theme);
                    }
                    .j-drop {
                        a {
                            color: var(--minor);
                        }
                        svg {
                            width: 14px;
                            height: 14px;
                            fill: var(--minor);
                            margin-left: 5px;
                            margin-top: -3px;
                        }
                        &:hover {
                            a {
                                color: var(--theme);
                            }
                            svg {
                                fill: var(--theme);
                            }
                        }
                    }
                    .j-dropdown {
                        top: 55px;
                        min-width: 120px;
                        max-width: 150px;
                    }
                }
            }
            .census {
                display: flex;
                align-items: center;
                height: 45px;
                position: relative;
                margin-left: 15px;
                .j-drop {
                    span {
                        color: var(--routine);
                    }
                    svg {
                        width: 15px;
                        height: 15px;
                        fill: var(--routine);
                        margin-right: 5px;
                    }
                    &:hover {
                        span {
                            color: var(--theme);
                        }
                        svg {
                            fill: var(--theme);
                        }
                    }
                }
                .j-dropdown {
                    top: 55px;
                    padding: 20px 15px 0;
                    #census {
                        width: 300px;
                        height: 200px;
                    }
                }
            }
            .logged {
                height: 45px;
                display: flex;
                align-items: center;
                position: relative;
                margin-left: 15px;
                .j-drop {
                    span {
                        color: var(--routine);
                    }
                    svg {
                        width: 15px;
                        height: 15px;
                        fill: var(--routine);
                        margin-right: 5px;
                    }
                    &:hover {
                        span {
                            color: var(--theme);
                        }
                        svg {
                            fill: var(--theme);
                        }
                    }
                }
                .j-dropdown {
                    width: 120px;
                    top: 55px;
                }
            }
            .sign {
                display: flex;
                align-items: center;
                margin-left: 15px;
                svg {
                    width: 15px;
                    height: 15px;
                    fill: var(--routine);
                    margin-right: 5px;
                }
                .line {
                    color: var(--minor);
                    margin: 0 5px;
                }
                .sign-box {
                    display: flex;
                    align-items: center;
                    position: relative;
                    height: 45px;
                    .j-drop {
                        color: var(--routine);
                        cursor: pointer;
                        &:hover {
                            color: var(--theme);
                        }
                    }
                    .j-dropdown {
                        top: 55px;
                        padding: 15px;
                        width: 250px;
                        text-align: left;
                        .form-item {
                            margin-bottom: 15px;
                            &:last-child {
                                margin-bottom: 0;
                            }
                            div {
                                margin-bottom: 5px;
                                color: var(--routine);
                                font-size: 12px;
                            }
                            input {
                                width: 100%;
                                height: 34px;
                                border-radius: 4px;
                                border: 1px solid var(--classA);
                                padding: 0 15px;
                                color: var(--routine);
                                transition: border-color 0.35s;
                                &:focus {
                                    border-color: var(--theme);
                                }
                            }
                            button {
                                color: var(--background);
                                width: 100%;
                                height: 34px;
                                border: none;
                                border-radius: 4px;
                                background: var(--theme);
                                transition: opacity 0.35s;
                                &:hover {
                                    opacity: 0.85;
                                }
                            }
                        }
                    }
                }
            }
            .barrager {
                width: 40px;
                height: 20px;
                position: relative;
                border-radius: 10px;
                cursor: pointer;
                background: var(--minor);
                transition: background 0.35s;
                margin-left: 15px;
                -webkit-appearance: none;
                &::after {
                    content: '弹';
                    font-size: 12px;
                    width: 22px;
                    height: 22px;
                    line-height: 22px;
                    text-align: center;
                    position: absolute;
                    color: var(--minor);
                    top: 50%;
                    left: 0;
                    border-radius: 50%;
                    background-color: var(--background);
                    box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
                    transform: translateY(-50%);
                    transition: left 0.35s;
                }
                &:checked {
                    background-color: var(--theme);
                    &::after {
                        left: 20px;
                        color: var(--theme);
                    }
                }
            }
        }
    }
}

.j-header-fluid {
    position: sticky;
    top: 0;
    display: flex;
    height: 70px;
    background: var(--background);
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.1);
    z-index: $z-index-5;
    width: 100%;
    user-select: none;
    .progress {
        position: absolute;
        top: 0;
        left: 0;
        height: 3px;
        background: var(--theme);
        opacity: 0.75;
        z-index: $z-index-6;
        border-radius: 0 1.5px 1.5px 0;
        transition: width 0.35s;
    }
    .left {
        display: flex;
        align-items: center;
        margin-right: auto;
    }
    .right {
        display: flex;
        align-items: center;
    }

    .logo {
        position: relative;
        display: flex;
        align-items: center;
        font-size: 0;
        height: 70px;
        padding-right: 15px;
        margin-right: 15px;
        &::after {
            content: '';
            position: absolute;
            top: 50%;
            right: 0;
            width: 1px;
            height: 20px;
            background: var(--classB);
            transform: translateY(-50%);
        }
        a {
            display: block;
            img {
                max-width: 150px;
                max-height: 50px;
                object-fit: cover;
            }
        }
    }

    .nav {
        display: flex;
        align-items: center;
        .link {
            position: relative;
            height: 70px;
            line-height: 70px;
            font-size: 15px;
            padding: 0 8px;
            margin-right: 15px;
            transition: color 0.35s;
            &::after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 0;
                right: 0;
                height: 3px;
                opacity: 0;
                transition: opacity 0.35s, transform 0.35s;
                border-radius: 6px 6px 0 0;
                transform: scale3d(0, 0, 0);
                background: var(--theme);
            }
            &:hover {
                color: var(--theme);
                &::after {
                    opacity: 1;
                    transform: scale3d(1, 1, 1);
                }
            }
            &.active {
                color: var(--theme);
                &::after {
                    opacity: 1;
                    transform: scale3d(1, 1, 1);
                }
            }
        }
        .drop {
            position: relative;
            display: flex;
            align-items: center;
            margin-right: 15px;

            .j-drop {
                height: 70px;
                span {
                    color: var(--main);
                    transition: color 0.35s;
                }
                svg {
                    width: 15px;
                    height: 15px;
                    fill: var(--main);
                    margin-left: 5px;
                    transition: fill 0.35s;
                }
                &:hover {
                    span {
                        color: var(--theme);
                    }
                    svg {
                        fill: var(--theme);
                    }
                }
            }
            .j-dropdown {
                top: 80px;
                min-width: 120px;
                max-width: 150px;
                &.census {
                    padding: 20px 15px 0;
                    max-width: none;
                    #census {
                        width: 300px;
                        height: 200px;
                    }
                }
            }
        }
    }

    .search {
        position: relative;
        display: flex;
        align-items: center;
        height: 70px;
        margin-left: 20px;
        input {
            background: var(--classC);
            width: 170px;
            height: 38px;
            border: none;
            border: 1px solid transparent;
            border-right: none;
            padding: 0 20px;
            color: var(--routine);
            transition: border-color 0.35s, background 0.35s;
            font-size: 13px;
            border-radius: 4px 0 0 4px;
            &:focus {
                background: var(--background);
                border-color: var(--theme);
            }
        }
        button {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 38px;
            height: 38px;
            border: none;
            background: var(--theme);
            color: var(--background);
            font-size: 13px;
            border-radius: 0 4px 4px 0;
            transition: opacity 0.35s;
            &:hover {
                opacity: 0.85;
            }
            svg {
                width: 15px;
                height: 15px;
                fill: var(--background);
                transition: fill 0.35s;
            }
        }
        span {
            width: 28px;
            height: 38px;
            background: url(../img/search.png);
            background-size: 100% 100%;
        }
    }

    .logged {
        display: flex;
        align-items: center;
        position: relative;
        margin-left: 20px;
        height: 70px;
        .j-drop {
            img {
                width: 30px;
                height: 30px;
                border-radius: 50%;
                border: 1px solid var(--classA);
                padding: 3px;
                transition: transform 0.35s;
            }
            &:hover {
                img {
                    transform: rotate(360deg);
                }
            }
        }
        .j-dropdown {
            width: 120px;
            top: 70px;
        }
    }

    .sign {
        display: flex;
        align-items: center;
        margin-left: 20px;
        .sign-box {
            display: flex;
            align-items: center;
            position: relative;
            height: 70px;
            .j-drop {
                position: relative;
                transform-style: preserve-3d;
                transition: transform 0.5s;
                font-size: 12px;
                border: none;
                width: 65px;
                height: 28px;
                line-height: 28px;
                span {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    perspective: 300px;
                    background: var(--background);
                    color: var(--element);
                    border: 1px solid var(--element);
                    &:first-child {
                        transform: translateZ(14px);
                    }
                    &:last-child {
                        transform: translateY(14px) rotateX(-90deg);
                    }
                }
                &:hover {
                    transform: rotateX(90deg);
                }
            }
            .j-dropdown {
                top: 80px;
                padding: 15px;
                width: 250px;
                text-align: left;
                .form-item {
                    margin-bottom: 15px;
                    &:last-child {
                        margin-bottom: 0;
                    }
                    div {
                        margin-bottom: 5px;
                        color: var(--routine);
                        font-size: 12px;
                    }
                    input {
                        width: 100%;
                        height: 34px;
                        border-radius: 4px;
                        border: 1px solid var(--classA);
                        padding: 0 15px;
                        color: var(--routine);
                        transition: border-color 0.35s;
                        &:focus {
                            border-color: var(--theme);
                        }
                    }
                    button {
                        color: var(--background);
                        width: 100%;
                        height: 34px;
                        border: none;
                        border-radius: 4px;
                        background: var(--theme);
                        transition: opacity 0.35s;
                        &:hover {
                            opacity: 0.85;
                        }
                    }
                }
            }
            &:last-child {
                span {
                    color: var(--background);
                    background: var(--element);
                }
            }
        }
    }

    .barrager {
        width: 40px;
        height: 20px;
        position: relative;
        border-radius: 10px;
        cursor: pointer;
        background: var(--minor);
        transition: background 0.35s;
        -webkit-appearance: none;
        &::after {
            content: '弹';
            font-size: 12px;
            width: 22px;
            height: 22px;
            line-height: 22px;
            text-align: center;
            position: absolute;
            color: var(--minor);
            top: 50%;
            left: 0;
            border-radius: 50%;
            background-color: var(--background);
            box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
            transform: translateY(-50%);
            transition: left 0.35s;
        }
        &:checked {
            background-color: var(--theme);
            &::after {
                left: 20px;
                color: var(--theme);
            }
        }
    }

    .search-toggle {
        display: none;
        text-align: center;
        width: 30px;
        height: 30px;
        line-height: 30px;
        margin-left: 15px;
        svg {
            display: none;
            width: 20px;
            height: 20px;
            fill: var(--routine);
            vertical-align: middle;
        }
        .open {
            display: inline-block;
        }
        &.active {
            .open {
                display: none;
            }
            .close {
                display: inline-block;
            }
        }
    }

    .slide {
        display: none;
        position: relative;
        width: 20px;
        height: 20px;
        margin-right: 15px;
        span {
            display: block;
            position: absolute;
            height: 2px;
            width: 20px;
            opacity: 1;
            left: 0;
            transform: rotate(0deg);
            top: 0;
            background-color: var(--routine);
            border-radius: 2px;
            transition: top 0.35s ease, transform 0.35s, opacity 0.35s;
            &:nth-child(2) {
                top: 9px;
            }
            &:nth-child(3) {
                top: 18px;
            }
        }
        &.active {
            span:nth-child(1) {
                top: 9px;
                transform: rotate(45deg);
            }
            span:nth-child(2) {
                opacity: 0;
            }
            span:nth-child(3) {
                top: 9px;
                transform: rotate(-45deg);
            }
        }
    }

    .search-toggle-xs {
        display: none;
        width: 20px;
        height: 20px;
        fill: var(--routine);
        margin-left: auto;
    }
}

.j-actions {
    position: fixed;
    z-index: $z-index-4;
    bottom: 86px;
    right: 30px;
    .item {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        background: var(--background);
        border-radius: 50%;
        cursor: pointer;
        margin-top: 15px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1), 0 5px 20px rgba(0, 0, 0, 0.2);
        transform: scale(0);
        transition: transform 0.35s;
        svg {
            width: 25px;
            height: 25px;
            fill: var(--theme);
        }
        &.active {
            transform: scale(1);
        }
        .color-pick {
            position: absolute;
            bottom: 0;
            right: 50px;
            opacity: 0;
            visibility: hidden;
            transform: perspective(600px) rotateX(45deg);
            transition: transform 0.35s, opacity 0.35s, visibility 0.35s;
            transform-origin: bottom;
            &.active {
                opacity: 1;
                visibility: visible;
                transform: rotateX(0);
            }
        }
        &.light {
            transform: scale(1);
            svg {
                transition: fill 0.35s;
                fill: var(--main);
            }
            &.current {
                svg {
                    fill: var(--theme);
                }
            }
        }
    }
}

.j-footer {
    border-top: 1px solid var(--classB);
    color: var(--minor);
    .container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 66px;
        a {
            color: var(--minor);
            &:hover {
                color: var(--theme);
                text-decoration: underline;
            }
        }
        .banquan {
            display: flex;
            align-items: center;
            .info {
                margin-right: 10px;
            }
            svg {
                width: 18px;
                height: 18px;
                animation: rotateCount 2s infinite alternate;
            }
            .time {
                margin-left: 5px;
            }
        }
        .banquan-links {
            display: flex;
            align-items: center;
            a {
                margin-left: 20px;
                &:first-child {
                    margin-left: 0;
                }
            }
        }
    }
}

.j-adaption {
    position: relative;
    width: 0;
    min-width: 0;
    flex: 1;
}

.j-index {
    display: flex;
    padding-top: 20px;
    padding-bottom: 20px;
    .main {
        padding: 0 20px;
        background: var(--background);
        box-shadow: var(--box-shadow);
        border-radius: var(--radius-pc);
        .search-title {
            display: flex;
            align-items: center;
            height: 45px;
            line-height: 45px;
            color: var(--main);
            user-select: none;
            border-bottom: 1px solid var(--classC);
            svg {
                width: 20px;
                height: 20px;
                min-width: 20px;
                min-height: 20px;
                margin-right: 5px;
            }
            section {
                display: flex;
                align-items: center;
                .active {
                    color: var(--theme);
                    margin: 0 5px;
                }
            }
        }
        .index-title {
            display: flex;
            align-items: center;
            user-select: none;
            border-bottom: 1px solid var(--classC);
            h2 {
                position: relative;
                color: var(--theme);
                font-size: 14px;
                font-weight: 500;
                height: 40px;
                line-height: 40px;
                &::after {
                    content: '';
                    position: absolute;
                    bottom: -2px;
                    left: 0;
                    width: 100%;
                    height: 2px;
                    background: var(--theme);
                    z-index: 1;
                }
            }
            .notice {
                display: flex;
                align-items: center;
                margin-left: auto;
                height: 40px;
                svg {
                    min-width: 20px;
                    min-height: 20px;
                    width: 20px;
                    height: 20px;
                    margin-right: 5px;
                }
                a {
                    color: var(--minor);
                    font-size: 14px;
                    line-height: 20px;
                    max-width: 300px;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                    &:hover {
                        color: var(--theme);
                    }
                }
            }
        }
        .index-ad {
            padding-top: 20px;
            a {
                position: relative;
                display: block;
                transition: opacity 0.35s;
                img {
                    width: 100%;
                    height: 200px;
                    object-fit: cover;
                    border-radius: calc(var(--radius-pc) / 2);
                }
                &:hover {
                    opacity: 0.85;
                }
            }
        }
        .index-hot {
            padding-top: 20px;
            .title {
                display: none;
            }
            .hot {
                display: flex;
                justify-content: space-around;
                li {
                    width: 25%;
                    padding: 0 7.5px;
                    &:first-child {
                        padding-left: 0;
                    }
                    &:last-child {
                        padding-right: 0;
                    }
                    a {
                        position: relative;
                        display: block;
                        transition: opacity 0.35s;
                        &:hover {
                            opacity: 0.85;
                            p {
                                color: var(--theme);
                            }
                        }
                        img {
                            width: 100%;
                            height: 125px;
                            object-fit: cover;
                            border-radius: calc(var(--radius-pc) / 2) calc(var(--radius-pc) / 2) 0 0;
                        }
                        p {
                            font-size: 13px;
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            text-align: center;
                            padding: 0 10px;
                            line-height: 32px;
                            color: var(--minor);
                            background: var(--classD);
                            border-radius: 0 0 calc(var(--radius-pc) / 2) calc(var(--radius-pc) / 2);
                        }
                        span {
                            display: flex;
                            align-items: center;
                            position: absolute;
                            top: 5px;
                            right: 5px;
                            background: var(--theme);
                            color: var(--background);
                            height: 20px;
                            font-size: 12px;
                            padding: 0 7px;
                            border-radius: calc(var(--radius-pc) / 4);
                            max-width: 150px;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            white-space: nowrap;
                        }
                    }
                }
            }
        }
        .index-banner {
            width: 100%;
            display: flex;
            padding-top: 20px;
            .swiper-container {
                width: 0;
                min-width: 0;
                flex: 1;
                height: 340px;
                min-height: 340px;
                max-height: 340px;
                border-radius: calc(var(--radius-pc) / 2);
                overflow: hidden;
                .swiper-slide {
                    position: relative;
                    display: block;
                    background-size: cover;
                    transition: opacity 0.35s;
                    height: 340px;
                    min-height: 340px;
                    max-height: 340px;
                    border-radius: calc(var(--radius-pc) / 2);
                    overflow: hidden;
                    .lazyload {
                        width: 100%;
                        height: 100%;
                        min-height: 100%;
                        max-height: 100%;
                        object-fit: cover;
                    }
                    &:hover {
                        opacity: 0.85;
                    }
                    .title {
                        position: absolute;
                        z-index: 1;
                        left: 0;
                        right: 0;
                        bottom: 0;
                        padding: 15px;
                        text-align: center;
                        background: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(6, 6, 6, 0.5));
                        white-space: nowrap;
                        overflow: hidden;
                        text-overflow: ellipsis;
                        color: var(--background);
                        font-size: 15px;
                    }
                    .icon {
                        position: absolute;
                        top: 15px;
                        left: 15px;
                        width: 18px;
                        height: 18px;
                        fill: var(--background);
                    }
                }
            }
            .recommend {
                width: 270px;
                margin-left: 20px;
                display: flex;
                flex-direction: column;
                a {
                    position: relative;
                    width: 100%;
                    height: 160px;
                    margin-bottom: 20px;
                    border-radius: calc(var(--radius-pc) / 2);
                    overflow: hidden;
                    transition: opacity 0.35s;
                    &:hover {
                        opacity: 0.85;
                    }
                    &:last-child {
                        margin-bottom: 0;
                    }
                    img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }
                    .desc {
                        display: flex;
                        align-items: center;
                        position: absolute;
                        z-index: 1;
                        left: 0;
                        right: 0;
                        bottom: 0;
                        padding: 10px;
                        background: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(6, 6, 6, 0.7));
                        color: var(--background);
                        font-size: 14px;
                        line-height: 20px;
                        white-space: nowrap;
                        overflow: hidden;
                        text-overflow: ellipsis;
                        width: 100%;
                        .type {
                            color: var(--background);
                            font-size: 12px;
                            background-image: -webkit-gradient(linear, left top, right top, from(#fc712a), to(#f84c39));
                            background-image: -webkit-linear-gradient(left, #fc712a, #f84c39);
                            background-image: -moz-linear-gradient(left, #fc712a, #f84c39);
                            background-image: linear-gradient(to right, #fc712a, #f84c39);
                            background-color: #f84c39;
                            padding: 0 5px;
                            height: 20px;
                            line-height: 20px;
                            border-radius: calc(var(--radius-pc) / 4);
                            margin-right: 5px;
                        }
                        p {
                            width: 100%;
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }
                    }
                }
                &.noCarousel {
                    width: 100%;
                    flex-direction: row;
                    margin-left: 0;
                    a {
                        flex: 1;
                        margin-bottom: 0;
                        margin-left: 7.5px;
                        &:first-child {
                            margin-left: 0;
                            margin-right: 7.5px;
                        }
                    }
                }
            }
        }
        .article {
            .empty-result {
                display: flex;
                align-items: center;
                justify-content: center;
                flex-direction: column;
                padding-bottom: 50px;
                padding-top: 50px;
                font-size: 16px;
                color: var(--routine);
                user-select: none;
                svg {
                    width: 100px;
                    height: 100px;
                    fill: var(--routine);
                    margin-bottom: 20px;
                }
            }
            .article-list {
                position: relative;
                width: 100%;
                display: flex;
                padding: 20px 0;
                border-bottom: 1px solid var(--classC);
                &:last-child {
                    border-bottom: none;
                }
                .picture-box {
                    position: relative;
                    width: 210px;
                    min-width: 210px;
                    height: 140px;
                    min-height: 140px;
                    margin-right: 15px;
                    border-radius: calc(var(--radius-pc) / 2);
                    overflow: hidden;
                    img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }
                    span {
                        position: absolute;
                        top: 5px;
                        right: 5px;
                        background: var(--theme);
                        height: 20px;
                        line-height: 20px;
                        padding: 0 10px;
                        color: var(--background);
                        font-size: 12px;
                        border-radius: 10px;
                        transition: transform 0.35s;
                        transform: translate3d(120%, 0, 0);
                    }
                    svg {
                        width: 20px;
                        height: 20px;
                        position: absolute;
                        top: 5px;
                        left: 5px;
                        fill: var(--background);
                    }
                    div {
                        display: none;
                        align-items: center;
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        width: 100%;
                        padding: 15px;
                        font-size: 16px;
                        background: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(6, 6, 6, 0.7));
                        color: rgba(255, 255, 255, 0.85);
                        p {
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }
                    }
                }
                .entry-box {
                    display: flex;
                    flex-direction: column;
                    flex: 1;
                    width: 0;
                    min-width: 0;
                    overflow: hidden;
                    height: 140px;
                    .title {
                        display: flex;
                        align-items: center;
                        margin-bottom: 10px;
                        .badge {
                            height: 20px;
                            line-height: 20px;
                            background-image: -webkit-linear-gradient(0deg, #3ca5f6 0%, #a86af9 100%);
                            color: var(--background);
                            font-size: 12px;
                            font-weight: normal;
                            margin-right: 5px;
                            border-radius: calc(var(--radius-pc) / 4);
                            padding: 0 10px;
                            white-space: nowrap;
                            vertical-align: top;
                        }
                        a {
                            color: var(--main);
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            font-size: 18px;
                            line-height: 24px;
                            &:hover {
                                color: var(--theme);
                            }
                        }
                    }
                    .summary {
                        display: -webkit-box;
                        -webkit-line-clamp: 2;
                        /*! autoprefixer: off */
                        -webkit-box-orient: vertical;
                        /* autoprefixer: on */
                        overflow: hidden;
                        text-overflow: ellipsis;
                        color: var(--minor);
                        transition: opacity 0.35s;
                        word-break: break-all;
                        line-height: 22px;
                        max-height: 46px;
                        &:hover {
                            opacity: 0.8;
                        }
                    }
                    .meta {
                        display: flex;
                        margin-top: auto;
                        align-items: center;
                        user-select: none;
                        .item {
                            display: flex;
                            align-items: center;
                            font-size: 13px;
                            color: var(--minor);
                            line-height: 20px;
                            &:nth-child(2) {
                                p {
                                    max-width: 150px;
                                    overflow: hidden;
                                    text-overflow: ellipsis;
                                    white-space: nowrap;
                                }
                            }
                            svg {
                                width: 20px;
                                height: 20px;
                                fill: var(--minor);
                                margin-right: 3px;
                            }
                            a {
                                color: var(--minor);
                                &:hover {
                                    color: var(--theme);
                                }
                            }
                            &:last-child {
                                &::after {
                                    display: none;
                                }
                            }
                            &::after {
                                content: '/';
                                display: block;
                                color: #e1e1e1;
                                padding: 0 5px;
                            }
                        }
                    }
                    .meta-xs {
                        display: none;
                        align-items: center;
                        justify-content: space-between;
                        border-top: 1px solid var(--classC);
                        padding-top: 15px;
                        .item {
                            display: flex;
                            align-items: center;
                            color: #bbb;
                            font-size: 12px;
                            svg {
                                width: 15px;
                                height: 15px;
                                fill: #bbb;
                                margin-right: 5px;
                                vertical-align: middle;
                            }
                        }
                    }
                }
                &::after {
                    content: '';
                    position: absolute;
                    top: 20px;
                    left: -20px;
                    width: 4px;
                    height: 25px;
                    border-radius: 2px;
                    background: var(--theme);
                    transform: scaleY(0);
                    transition: transform 0.35s;
                }
                &:hover {
                    .picture-box {
                        span {
                            transform: translate3d(0, 0, 0);
                        }
                    }
                    &::after {
                        transform: scaleY(1);
                    }
                }
            }
        }
    }
}

.j-index {
    .main.type1 {
        padding: unset;
        background: unset;
        box-shadow: unset;
        border-radius: unset;
        .index-banner {
            background: var(--background);
            padding: 20px;
            margin-bottom: 20px;
            box-shadow: var(--box-shadow);
            border-radius: var(--radius-pc);
        }
        .index-hot {
            background: var(--background);
            padding: 20px;
            box-shadow: var(--box-shadow);
            margin-bottom: 20px;
            border-radius: var(--radius-pc);
        }
        .index-ad {
            margin-bottom: 20px;
            box-shadow: var(--box-shadow);
            padding-top: unset;
            border-radius: var(--radius-pc);
        }
        .index-title {
            background: var(--background);
            padding: 0 20px;
            margin-bottom: 20px;
            border-radius: 20.5px;
            h2 {
                display: none;
            }
            .notice {
                margin-left: unset;
            }
        }
        .search-title {
            background: var(--background);
            margin-bottom: 20px;
            border-bottom: unset;
            padding: 0 20px;
        }
        .article {
            .article-list {
                background: var(--background);
                padding: 20px;
                margin-bottom: 20px;
                border-bottom: unset;
                border-radius: var(--radius-pc);
                &:last-child {
                    margin-bottom: unset;
                }
                &::after {
                    left: 0;
                }
            }
        }
    }
}

.j-ad {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 12px;
    background: rgba(0, 0, 0, 0.25);
    padding: 2px 5px;
    border-radius: 2px;
    color: var(--classD);
}

.j-aside {
    transition: width 0.35s;
    user-select: none;

    .aside {
        display: block;
        width: 250px;
        margin-bottom: 20px;
        border-radius: var(--radius-pc);
        overflow: hidden;
        box-shadow: var(--box-shadow);
        margin-left: 20px;
        &:last-child {
            position: sticky;
            margin-bottom: 0;
        }
        h3 {
            border-bottom: 1px solid var(--classC);
            font-size: 15px;
            font-weight: 500;
            height: 45px;
            line-height: 45px;
            padding: 0 15px;
            color: var(--main);
        }
        .empty {
            padding: 15px;
            text-align: center;
            font-size: 12px;
            color: var(--minor);
        }
    }
    .aside-ad {
        position: relative;
        height: 190px;
        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }
    .aside-custom {
        padding: 15px;
        background: var(--background);
    }
    .aside-visitor {
        img {
            width: 100%;
        }
    }
    .aside-wether {
        background: var(--background);
        .content {
            position: relative;
            padding: 15px;
            min-height: 300px;
            .loading {
                display: flex;
                align-items: center;
                justify-content: center;
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                background: var(--background);
                z-index: $z-index-3;
                transition: opacity 0.35s;
                svg {
                    width: 30px;
                    height: 30px;
                    path,
                    rect {
                        fill: var(--theme);
                    }
                }
                &.active {
                    opacity: 0;
                    visibility: hidden;
                }
            }
        }
    }
    .aside-cloud {
        background: var(--background);
        .cloud {
            padding: 15px;
            svg {
                vertical-align: middle;
            }
        }
        #cloudList {
            display: none;
        }
    }
    .aside-reply {
        background: var(--background);
        .list {
            padding: 15px;
            li {
                margin-bottom: 15px;
                border-bottom: 1px dashed var(--classC);
                padding-bottom: 15px;
                user-select: none;
                &:last-child {
                    margin-bottom: 0;
                    border-bottom-color: transparent;
                    padding-bottom: 0;
                }

                .user {
                    display: flex;
                    margin-bottom: 12px;
                    img {
                        width: 40px;
                        height: 40px;
                        min-width: 40px;
                        min-height: 40px;
                        margin-right: 12px;
                        border-radius: 50%;
                        border: 1px solid var(--classA);
                        padding: 3px;
                    }
                    .info {
                        display: flex;
                        flex-direction: column;
                        justify-content: space-between;

                        .name {
                            color: var(--main);
                            font-weight: 600;
                            max-width: 150px;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            white-space: nowrap;
                        }

                        span {
                            font-size: 12px;
                            color: var(--minor);
                        }
                    }
                }

                .reply {
                    position: relative;
                    background: var(--classD);
                    border-radius: 6px;
                    padding: 5px 10px;
                    &::before {
                        content: '';
                        display: block;
                        width: 0;
                        height: 0;
                        border-bottom: 6px solid var(--classD);
                        border-left: 6px solid transparent;
                        border-right: 6px solid transparent;
                        position: absolute;
                        left: 15px;
                        bottom: 100%;
                    }
                    a {
                        display: none;
                        color: var(--minor);
                        font-size: 13px;
                        -webkit-line-clamp: 1;
                        /*! autoprefixer: off */
                        -webkit-box-orient: vertical;
                        /* autoprefixer: on */
                        overflow: hidden;
                        text-overflow: ellipsis;
                        font-weight: 500;
                        line-height: 24px;
                        .owo {
                            height: 22px;
                            vertical-align: top;
                        }
                        &:hover {
                            color: var(--theme);
                        }
                        p {
                            display: inline;
                        }
                    }
                }
            }
        }
    }
    .aside-hot {
        background: var(--background);
        ul {
            padding: 15px;
            li {
                margin-bottom: 15px;
                a {
                    position: relative;
                    display: block;
                    border-radius: calc(var(--radius-pc) / 2);
                    overflow: hidden;
                    &:hover {
                        img {
                            transform: scale(1.2);
                        }
                    }
                    img {
                        width: 100%;
                        height: 130px;
                        object-fit: cover;
                        transition: transform 0.35s;
                    }
                    .info {
                        position: absolute;
                        z-index: 1;
                        left: 0;
                        right: 0;
                        bottom: 0;
                        padding: 10px;
                        background: linear-gradient(to bottom, rgba(6, 6, 6, 0), rgba(6, 6, 6, 0.7));
                        font-size: 12px;
                        p {
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            color: var(--background);
                            line-height: 24px;
                            font-size: 14px;
                        }
                        span {
                            color: var(--seat);
                        }
                    }
                    .tip {
                        position: absolute;
                        top: 5px;
                        right: -20px;
                        background: #7f7f8c;
                        color: var(--background);
                        width: 65px;
                        text-align: center;
                        font-size: 12px;
                        transform: rotate(45deg);
                        font-weight: 500;
                    }
                }
                &:nth-child(1) {
                    a .tip {
                        background: #ff183e;
                    }
                }
                &:nth-child(2) {
                    a .tip {
                        background: #ff5c38;
                    }
                }
                &:nth-child(3) {
                    a .tip {
                        background: #ffb821;
                    }
                }
                &:last-child {
                    margin-bottom: 0;
                }
            }
        }
    }
    .aside-user {
        background: var(--background);
        padding: 45px 15px 15px;
        position: relative;
        &:hover {
            &::after {
                display: block;
            }
        }
        &::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 120px;
            background: url(../img/aside-author-bg.jpg) no-repeat;
            background-size: cover;
        }
        &::after {
            display: none;
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 268px;
            background: url(../img/snow.gif) no-repeat;
            background-size: cover;
        }
        .user {
            position: relative;
            z-index: $z-index-1;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding-bottom: 20px;
            img {
                width: 80px;
                height: 80px;
                border-radius: 50%;
                margin-bottom: 10px;
                user-select: none;
                background: var(--background);
                padding: 5px;
                transition: transform 0.75s;
                &:hover {
                    transform: rotate(360deg);
                }
            }
            a {
                color: var(--theme);
                margin-bottom: 10px;
                font-size: 16px;
                font-weight: 500;
                &:hover {
                    text-decoration: underline;
                }
            }
            .p {
                display: none;
                color: var(--main);
                text-align: center;
                user-select: none;
            }
        }
        .webinfo {
            width: 100%;
            padding-bottom: 20px;
            display: flex;
            align-items: center;
            border-bottom: 1px solid var(--classC);

            .item {
                width: 0;
                min-width: 0;
                flex: 1;
                display: flex;
                flex-direction: column;
                align-items: center;
                color: var(--routine);
                font-size: 12px;

                .num {
                    max-width: 70px;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    font-weight: 500;
                    font-size: 22px;
                    color: var(--main);
                    margin-bottom: 3px;
                    text-shadow: var(--text_shadow);
                }

                &:first-child {
                    border-right: 1px solid var(--classC);
                }
            }
        }
        .articles {
            width: 100%;
            overflow: hidden;
            padding-top: 15px;

            li {
                display: flex;
                align-items: center;
                justify-content: space-between;
                line-height: 32px;

                a {
                    color: var(--routine);
                    max-width: 85%;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;

                    &:hover {
                        color: var(--theme);
                        text-decoration: underline;
                    }
                }

                svg {
                    width: 16px;
                    height: 16px;
                    fill: var(--routine);
                }
            }
        }
    }
    .aside-count {
        background: var(--background);
        .content {
            padding: 15px;
            .item {
                margin-bottom: 15px;
                &:last-child {
                    margin-bottom: 0;
                }
                .title {
                    font-size: 12px;
                    color: var(--minor);
                    margin-bottom: 5px;
                    display: flex;
                    align-items: center;
                    span {
                        color: var(--theme);
                        font-weight: 500;
                        font-size: 14px;
                        margin: 0 5px;
                    }
                }
                .progress {
                    display: flex;
                    align-items: center;
                    .progress-bar {
                        height: 10px;
                        border-radius: 5px;
                        overflow: hidden;
                        background: var(--classC);
                        width: 0;
                        min-width: 0;
                        flex: 1;
                        margin-right: 5px;
                        .progress-inner {
                            width: 0;
                            height: 100%;
                            border-radius: 5px;
                            transition: width 0.35s;
                            animation: progress 750ms linear infinite;
                        }
                        .progress-inner-1 {
                            background: #bde6ff;
                            background-image: linear-gradient(135deg, #50bfff 25%, transparent 25%, transparent 50%, #50bfff 50%, #50bfff 75%, transparent 75%, transparent 100%);
                            background-size: 30px 30px;
                        }
                        .progress-inner-2 {
                            background: #ffd980;
                            background-image: linear-gradient(135deg, #f7ba2a 25%, transparent 25%, transparent 50%, #f7ba2a 50%, #f7ba2a 75%, transparent 75%, transparent 100%);
                            background-size: 30px 30px;
                        }
                        .progress-inner-3 {
                            background: #ffa9a9;
                            background-image: linear-gradient(135deg, #ff4949 25%, transparent 25%, transparent 50%, #ff4949 50%, #ff4949 75%, transparent 75%, transparent 100%);
                            background-size: 30px 30px;
                        }
                        .progress-inner-4 {
                            background: #67c23a;
                            background-image: linear-gradient(135deg, #4f9e28 25%, transparent 25%, transparent 50%, #4f9e28 50%, #4f9e28 75%, transparent 75%, transparent 100%);
                            background-size: 30px 30px;
                        }
                    }
                    .progress-percentage {
                        color: var(--info);
                    }
                }
            }
        }
    }
    .aside-ranking {
        background: var(--background);
        .list {
            padding: 10px 0;
            li {
                display: flex;
                align-items: center;
                line-height: 32px;
                padding: 0 15px;

                span {
                    color: var(--minor);
                    font-weight: 700;
                    font-size: 18px;
                    width: 18px;
                    min-width: 18px;
                    max-width: 18px;
                }
                a {
                    width: 0;
                    min-width: 0;
                    flex: 1;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    color: var(--routine);
                    &:hover {
                        color: var(--theme);
                        text-decoration: underline;
                    }
                }
                &:nth-child(1) {
                    span {
                        color: #fe2d46;
                    }
                }
                &:nth-child(2) {
                    span {
                        color: #f60;
                    }
                }
                &:nth-child(3) {
                    span {
                        color: #faa90e;
                    }
                }
            }
        }
    }
}

.j-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-top: 20px;
    user-select: none;
    li {
        margin-left: 5px;
        &:first-child {
            margin-left: 0;
        }
        a {
            display: flex;
            height: 32px;
            align-items: center;
            color: var(--main);
            padding: 0 15px;
            background: var(--background);
            border-radius: 2px;
            transition: background 0.35s, color 0.35s;
            &:hover {
                background: var(--theme);
                color: var(--background);
                svg {
                    fill: var(--background);
                }
            }
            svg {
                width: 12px;
                height: 12px;
                fill: var(--routine);
                transition: fill 0.35s;
            }
        }
        &.next {
            a {
                svg {
                    transform: rotateY(180deg);
                }
            }
        }
        &.active {
            a {
                background: var(--theme);
                color: var(--background);
                font-weight: 500;
            }
        }
    }
}

.j-bread {
    padding-top: 20px;
    ul {
        display: flex;
        align-items: center;
        user-select: none;
        li {
            color: var(--minor);

            white-space: nowrap;
            a {
                color: var(--routine);
                &:hover {
                    color: var(--theme);
                }
            }
            &.home {
                display: flex;
                align-items: center;
                svg {
                    width: 15px;
                    height: 15px;
                    min-width: 15px;
                    min-height: 15px;
                    fill: var(--routine);
                    margin-right: 2px;
                }
            }
            &:nth-child(3) {
                overflow: hidden;
                text-overflow: ellipsis;
                max-width: 300px;
            }
        }
        .line {
            color: var(--seat);
            padding: 0 7px;
        }
    }
}

.j-post {
    display: flex;
    padding-top: 20px;
    padding-bottom: 20px;
    .j-floor {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -20px;
        transform: translateX(-100%);
        .contain {
            position: sticky;
            transition: top 0.5s;
            background: var(--background);
            box-shadow: var(--box_shadow);
            padding: 15px;
            border-radius: var(--radius-pc);
            width: 200px;
            max-height: 444px;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            .title {
                font-weight: 700;
                color: var(--main);
                margin-bottom: 15px;
                font-size: 15px;
                line-height: 20px;
            }
            ul {
                li {
                    ul {
                        padding-left: 2em;
                        ul {
                            padding-left: 0;
                        }
                    }
                    a {
                        user-select: none;
                        cursor: pointer;
                        padding-left: 5px;
                        display: block;
                        white-space: nowrap;
                        overflow: hidden;
                        text-overflow: ellipsis;
                        color: var(--routine);
                        line-height: 32px;
                        &:hover {
                            color: var(--theme);
                        }
                    }
                    &.visible {
                        > a {
                            color: var(--theme);
                        }
                    }
                }
            }
            .toc-marker {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                pointer-events: none;
                path {
                    transition: all 0.35s;
                }
            }
        }
    }
    .j-stretch {
        display: none;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        padding: 20px 0;
        .contain {
            position: sticky;
            transition: top 0.5s;
            animation: swingIconSet 2s infinite linear alternate;
            z-index: $z-index-3;
            &::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                width: 10px;
                height: 25px;
                border-top: 2px solid var(--minor);
                border-right: 2px solid var(--minor);
                transition: border 0.35s;
            }
            svg {
                position: absolute;
                top: 25px;
                left: -3px;
                width: 24px;
                height: 24px;
                fill: var(--minor);
                cursor: pointer;
                transition: fill 0.35s;
            }
            &:hover {
                animation-play-state: paused;
                svg {
                    fill: var(--theme);
                }
                &::before {
                    border-color: var(--theme);
                }
            }
        }
        &.active {
            display: block;
        }
    }
    .video {
        position: relative;
        z-index: 1;
        margin: 20px 0;
        .player-box {
            position: relative;
            background: var(--classD);
            padding-top: 60px;
            margin-bottom: 20px;
            .title {
                position: absolute;
                top: 15px;
                left: -10px;
                background: var(--theme);
                color: var(--background);
                font-weight: 500;
                box-shadow: 2px 5px 10px rgba(49, 58, 70, 0.15);
                height: 30px;
                line-height: 30px;
                padding: 0 10px;
                border-radius: 2px 2px 2px 0;
                max-width: 50%;
                &::before {
                    content: '';
                    border-style: solid;
                    border-width: 10px;
                    display: block;
                    position: absolute;
                    bottom: -10px;
                    left: 0;
                    margin-bottom: -10px;
                    z-index: -1;
                    border-color: var(--theme) transparent transparent;
                }
                span {
                    display: block;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                }
            }
            .player {
                padding: 15px;
                border-top: 1px solid var(--classA);
                #j-dplayer {
                    width: 100%;
                    height: 500px;
                    background: #000;
                }
            }
        }
        .episodes {
            position: relative;
            background: var(--classD);
            padding-top: 60px;
            .title {
                position: absolute;
                top: 15px;
                left: -10px;
                background: var(--theme);
                color: var(--background);
                font-weight: 500;
                box-shadow: 2px 5px 10px rgba(49, 58, 70, 0.15);
                height: 30px;
                line-height: 30px;
                padding: 0 10px;
                border-radius: 2px 2px 2px 0;
                &::before {
                    content: '';
                    border-style: solid;
                    border-width: 10px;
                    display: block;
                    position: absolute;
                    bottom: -10px;
                    left: 0;
                    margin-bottom: -10px;
                    z-index: -1;
                    border-color: var(--theme) transparent transparent;
                }
            }
            ul {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
                grid-auto-rows: 30px;
                gap: 20px;
                padding: 15px;
                user-select: none;
                border-top: 1px solid var(--classA);
                li {
                    height: 30px;
                    line-height: 30px;
                    &.active {
                        span {
                            color: var(--background);
                            background: var(--theme);
                        }
                    }
                    span {
                        display: block;
                        white-space: nowrap;
                        overflow: hidden;
                        text-overflow: ellipsis;
                        text-align: center;
                        padding: 0 10px;
                        cursor: pointer;
                        color: var(--minor);
                        background: var(--background);
                        box-shadow: var(--box-shadow);
                        border-radius: 16px;
                        transition: background 0.35s, color 0.35s;
                        &:hover {
                            color: var(--background);
                            background: var(--theme);
                        }
                    }
                }
            }
        }
        #j-dplayer-iframe {
            border: none;
            width: 100%;
            height: 500px;
            background: #000;
        }
    }
    .main {
        padding: 20px;
        background: var(--background);
        box-shadow: var(--box-shadow);
        border-radius: var(--radius-pc);
        margin-bottom: 20px;
        .classify {
            display: flex;
            align-items: center;
            .category {
                display: flex;
                align-items: center;
                flex-wrap: wrap;
                a {
                    color: var(--background);
                    font-size: 12px;
                    background: var(--theme);
                    padding: 3px 8px;
                    margin-right: 5px;
                    border-radius: 2px;
                    margin-bottom: 20px;
                    white-space: nowrap;
                    max-width: 120px;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    &:nth-child(1) {
                        background: #15a5ed;
                    }

                    &:nth-child(2) {
                        background: #f56c6c;
                    }

                    &:nth-child(3) {
                        background: #ed157a;
                    }

                    &:nth-child(4) {
                        background: #ed7615;
                    }

                    &:nth-child(5) {
                        background: #1fc46a;
                    }
                    &:last-child {
                        margin-right: 0;
                    }
                    &:hover {
                        opacity: 0.85;
                    }
                }
            }
            .edit {
                color: var(--minor);
                margin-left: auto;
                margin-bottom: 20px;
                line-height: 22px;
                &:hover {
                    opacity: 0.85;
                }
            }
        }
        .header {
            margin-bottom: 20px;
            border-bottom: 1px solid var(--classB);
            .title {
                font-size: 24px;
                color: var(--main);
                font-weight: 500;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                /*! autoprefixer: off */
                -webkit-box-orient: vertical;
                /* autoprefixer: on */
                overflow: hidden;
                text-overflow: ellipsis;
                text-shadow: var(--text_shadow);
                text-align: center;
                margin-bottom: 20px;
                opacity: 0;
            }
            .conting {
                display: flex;
                justify-content: space-between;
                align-items: center;
                margin-bottom: 20px;
                .info {
                    display: flex;
                    align-items: center;
                    height: 42px;
                    img {
                        width: 35px;
                        height: 35px;
                        border-radius: 50%;
                        margin-right: 10px;
                        border: 1px solid var(--classA);
                        padding: 3px;
                    }
                    .meta {
                        display: flex;
                        flex-direction: column;
                        justify-content: space-between;
                        height: 35px;
                        color: var(--minor);
                        user-select: none;
                        font-size: 12px;
                        .author {
                            a {
                                font-weight: 500;
                                color: var(--theme);
                                &:hover {
                                    text-decoration: underline;
                                }
                            }
                        }
                        .item {
                            display: flex;
                            align-items: center;
                            .line {
                                color: var(--seat);
                                margin: 0 7px;
                            }
                            #baiduIncluded {
                                a {
                                    color: #e6a23c;
                                    &:hover {
                                        text-decoration: underline;
                                    }
                                }
                                span {
                                    color: #e6a23c;
                                    &:hover {
                                        cursor: pointer;
                                        opacity: 0.85;
                                    }
                                }
                            }
                        }
                    }
                }

                .time {
                    font-size: 32px;
                    line-height: 42px;
                    color: var(--routine);
                    user-select: none;
                    text-shadow: var(--text_shadow);
                    font-family: consolas;
                }
            }
        }
        .markdown {
            word-wrap: break-word;
            font-size: 15px;
            h1,
            h2,
            h3,
            h4,
            h5,
            h6 {
                color: var(--main);
                margin: 20px 0;
                font-size: 20px;
            }
            h1 {
                position: relative;
                &::before {
                    content: '#';
                    color: var(--theme);
                    margin-right: 7px;
                    font-weight: 600;
                }
            }
            h2 {
                position: relative;
                padding: 0 15px;
                &::before {
                    content: '';
                    position: absolute;
                    top: 10%;
                    left: 0;
                    bottom: 10%;
                    width: 4px;
                    border-radius: 2px;
                    background: var(--theme);
                }
            }
            h3 {
                position: relative;
                &::before {
                    content: '「';
                    color: var(--theme);
                    margin-right: 5px;
                    font-weight: 600;
                }
                &::after {
                    content: '」';
                    color: var(--theme);
                    margin-left: 5px;
                    font-weight: 600;
                }
            }
            h4 {
                span {
                    padding: 3px 0;
                    background: linear-gradient(to bottom, transparent 60%, rgba(189, 202, 219, 0.3) 0) no-repeat;
                    line-height: 30px;
                }
            }
            h5 {
                span {
                    position: relative;
                    border-image: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab) 1 1;
                    border-style: solid;
                    border-bottom-width: 3px;
                    border-top-width: 0;
                    border-left-width: 0;
                    border-right-width: 0;
                    line-height: 30px;
                    padding-bottom: 3px;
                }
            }
            h6 {
                span {
                    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 4'%3E%3Cpath fill='none' stroke='%23ff3300' d='M0 3.5c5 0 5-3 10-3s5 3 10 3 5-3 10-3 5 3 10 3'/%3E%3C/svg%3E") repeat-x 0 100%;
                    background-size: 20px auto;
                    animation: waveMove 1s infinite linear;
                    line-height: 30px;
                    padding-bottom: 5px;
                }
            }
            blockquote {
                background: var(--classD);
                padding: 15px 20px;
                border-left: 4px solid var(--seat);
                margin: 20px 0;

                p {
                    font-weight: 500;
                    margin: 0;
                }
            }
            ol {
                color: var(--routine);
                margin: 20px 0;
                padding: 0 40px;
                li {
                    list-style: decimal;
                    margin-bottom: 10px;
                    line-height: 26px;

                    &:last-child {
                        margin-bottom: 0;
                    }
                }
            }
            ul {
                color: var(--routine);
                margin: 20px 0;
                padding: 0 40px;
                li {
                    list-style: disc;
                    margin-bottom: 10px;
                    line-height: 26px;
                    &::marker {
                        color: var(--theme);
                    }
                    &:last-child {
                        margin-bottom: 0;
                    }
                }
            }
            em {
                font-style: italic;
            }
            table {
                width: 100%;
                margin: 20px 0;
                box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
                overflow: auto;
                -webkit-overflow-scrolling: touch;
                thead {
                    th {
                        background: var(--classA);
                        color: var(--routine);
                        max-width: 250px;
                    }
                }
                td {
                    color: var(--routine);
                }
                tr {
                    background: var(--background);
                    &:nth-child(2n) {
                        background: var(--classD);
                    }
                }
                th,
                td {
                    padding: 10px;
                    max-width: 300px;
                }
            }
            iframe {
                border: none;
                max-width: 100%;
            }
            img:not(.owo) {
                display: block;
                max-width: 100%;
                height: auto;
                margin: 0 auto;
                border-radius: 4px;
                object-fit: cover;
            }
            .owo {
                width: 24px;
            }
            a {
                font-weight: 500;
                color: var(--theme);
                &:hover {
                    text-decoration: underline;
                }
            }
            hr {
                margin: 20px 0;
                border: none;
                height: 1px;
                background-color: var(--classB);
            }
            strong {
                color: var(--main);
                font-weight: 700;
            }
            p {
                color: var(--routine);
                line-height: 26px;
                margin: 20px 0;
                text-align: justify;
                white-space: pre-wrap;
                word-spacing: 5px;
                letter-spacing: 1px;
                word-break: break-all;
            }
            .hljs {
                white-space: pre-wrap;
                max-width: 100%;
                max-height: 550px;
                overflow: auto;
                -webkit-overflow-scrolling: touch;
                padding: 10px 15px;
                line-height: 2;
                border-radius: calc(var(--radius-pc) / 2);
                margin: 20px 0;
                font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
                &::-webkit-scrollbar-track {
                    border-radius: 0;
                    background: var(--background);
                }
            }
            .need-reply {
                border: 1px dashed var(--success);
                text-align: center;
                padding: 10px 20px;
                color: var(--routine);
                user-select: none;
                span {
                    color: var(--danger);
                    cursor: pointer;
                    &:hover {
                        text-decoration: underline;
                    }
                }
            }
            .reply-content {
                color: var(--routine);
                line-height: 26px;
                margin: 20px 0;
                text-align: justify;
                white-space: pre-wrap;
                word-spacing: 5px;
                letter-spacing: 1px;
                word-break: break-all;
            }
            .protected {
                display: flex;
                justify-content: center;
                padding: 30px;
                background: var(--classB);
                .form {
                    position: relative;
                    box-shadow: var(--box-shadow);
                    svg {
                        position: absolute;
                        top: 50%;
                        transform: translateY(-50%);
                        width: 18px;
                        height: 18px;
                        left: 15px;
                    }
                    input[type='password'] {
                        width: 300px;
                        height: 44px;
                        padding: 0 43px;
                        border: none;
                        border-radius: 4px;
                        color: var(--routine);
                    }
                    button[type='submit'] {
                        position: absolute;
                        top: 0;
                        right: 0;
                        border: none;
                        background: none;
                        height: 44px;
                        width: 44px;
                        transition: opacity 0.35s;
                        &:hover {
                            opacity: 0.85;
                        }
                    }
                }
            }
        }
        .tags {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-top: 15px;
            flex-wrap: wrap;
            .list {
                display: flex;
                a {
                    height: 26px;
                    line-height: 26px;
                    padding: 0 15px;
                    background: var(--classC);
                    font-size: 14px;
                    margin-right: 10px;
                    color: var(--minor);
                    border-radius: 13px;
                    transition: opacity 0.35s;

                    &:last-child {
                        margin-right: 0;
                    }

                    &:nth-child(n + 6) {
                        display: none;
                    }

                    &:hover {
                        opacity: 0.75;
                    }
                }
            }

            .handle {
                display: flex;
                align-items: center;

                .item {
                    position: relative;
                    cursor: pointer;
                    display: flex;
                    align-items: center;
                    color: var(--background);
                    background: var(--theme);
                    border: none;
                    height: 32px;
                    padding: 0 15px;
                    border-radius: 3px;
                    margin-left: 10px;
                    font-size: 12px;
                    user-select: none;
                    transition: opacity 0.35s;

                    &:hover {
                        opacity: 0.85;
                    }

                    svg {
                        width: 15px;
                        height: 15px;
                        fill: var(--background);
                        margin-right: 5px;
                    }

                    &:first-child {
                        margin-left: 0;
                    }
                }
                .share {
                    position: relative;
                    margin-left: 10px;
                    .j-dropdown {
                        top: 42px;
                        width: 120px;
                        #j-share-code {
                            border-top: 1px solid var(--classD);
                            padding-top: 15px;
                        }
                    }
                }
            }
        }
        .banquan {
            border-top: 1px solid var(--classB);
            padding-top: 20px;
            margin-top: 20px;
            .content {
                background: var(--classD);
                padding: 15px;
                .item {
                    display: flex;
                    align-items: center;
                    font-size: 14px;
                    color: var(--minor);
                    line-height: 26px;
                    white-space: nowrap;
                    &:last-child {
                        margin-bottom: 0;
                    }

                    svg {
                        width: 18px;
                        height: 18px;
                        min-width: 18px;
                        min-height: 18px;
                        margin-right: 8px;
                    }

                    span {
                        user-select: none;
                    }

                    a {
                        color: var(--minor);
                        &:hover {
                            color: var(--theme);
                            text-decoration: underline;
                        }
                    }
                    p {
                        overflow: hidden;
                        text-overflow: ellipsis;
                    }
                }
            }
        }
        .related {
            padding-top: 20px;
            .title {
                border-left: 3px solid var(--theme);
                padding-left: 15px;
                font-size: 18px;
                font-weight: 500;
                margin-bottom: 20px;
                color: var(--main);
            }
            ul {
                display: flex;
                li {
                    width: 25%;
                    padding: 0 7.5px;
                    overflow: hidden;
                    transition: opacity 0.35s, transform 0.35s;
                    &:hover {
                        opacity: 0.85;
                        transform: translate3d(0, -5px, 0);
                    }
                    a {
                        display: block;
                        img {
                            width: 100%;
                            height: 120px;
                            object-fit: cover;
                            border-radius: calc(var(--radius-pc) / 2) calc(var(--radius-pc) / 2) 0 0;
                        }
                        span {
                            display: block;
                            width: 100%;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            white-space: nowrap;
                            text-align: center;
                            color: var(--minor);
                            background: var(--classD);
                            padding: 0 10px;
                            line-height: 32px;
                            font-size: 12px;
                            border-radius: 0 0 calc(var(--radius-pc) / 2) calc(var(--radius-pc) / 2);
                        }
                    }
                }
            }
        }
        .links {
            display: flex;
            flex-wrap: wrap;
            li {
                width: 33.3333333%;
                padding: 15px;
                .item {
                    padding: 20px;
                    border-radius: calc(var(--radius-pc) / 2);
                    box-shadow: var(--box-shadow);
                    .title {
                        margin-bottom: 20px;
                        a {
                            font-size: 16px;
                            font-weight: 500;
                            border-bottom: 1px solid var(--background);
                            color: var(--background);
                            transition: all 0.35s;
                            &:hover {
                                color: var(--theme);
                                border-color: var(--theme);
                            }
                        }
                    }
                    .content {
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                        .desc {
                            color: var(--background);
                            margin-right: 10px;
                        }
                        img {
                            width: 40px;
                            height: 40px;
                            object-fit: cover;
                            border-radius: 50%;
                        }
                    }
                    &.deepgrey {
                        background: rgba(0, 0, 0, 0.5);
                    }
                    &.blue {
                        background: #6fa3ef;
                    }
                    &.purple {
                        background: #bc99c4;
                    }
                    &.green {
                        background: #46c47c;
                    }
                    &.yellow {
                        background: #f9bb3c;
                    }
                    &.red {
                        background: #e8583d;
                    }
                    &.orange {
                        background: #f68e5f;
                    }
                    &.success {
                        background: #67c23a;
                    }
                    &.warning {
                        background: #e6a23c;
                    }
                    &.danger {
                        background: #f56c6c;
                    }
                    &.info {
                        background: #909399;
                    }
                }
            }
        }
        .leaving {
            position: relative;
            min-height: 550px;
            li {
                display: none;
                flex-direction: column;
                cursor: move;
                width: 200px;
                position: absolute;
                overflow: hidden;
                border-bottom-left-radius: 20px 500px;
                border-bottom-right-radius: 500px 30px;
                border-top-left-radius: 100px 20px;
                border-top-right-radius: 20px 100px;
                box-shadow: 0 2px 10px 1px rgba(0, 0, 0, 0.2);
                user-select: none;
                font-size: 14px;
                color: var(--background);
                // transition: transform 0.25s;
                .head {
                    pointer-events: none;
                    height: 42px;
                    line-height: 42px;
                    padding: 10px;
                    display: flex;
                    align-items: center;
                    border-bottom: 1px solid var(--classD);
                    color: var(--background);
                    img {
                        width: 20px;
                        height: 20px;
                        border-radius: 50%;
                        margin-right: 5px;
                    }
                    span:nth-child(2) {
                        margin-right: 5px;
                        flex: 1;
                        width: 0;
                        min-width: 0;
                        overflow: hidden;
                        white-space: nowrap;
                        text-overflow: ellipsis;
                    }
                    span:last-child {
                        margin-left: auto;
                    }
                }
                .body {
                    height: 158px;
                    padding: 10px;
                    .content {
                        max-height: 100%;
                        overflow-y: auto;
                        word-wrap: break-word;
                        line-height: 24px;
                        -webkit-overflow-scrolling: touch;
                        .canvas {
                            width: 100%;
                        }
                        .owo {
                            height: 22px;
                            vertical-align: top;
                        }
                    }
                }
            }
        }
        .none {
            color: var(--minor);
            text-align: center;
            user-select: none;
        }
    }

    .page {
        display: flex;
        justify-content: space-between;
        margin-bottom: 20px;
        li {
            list-style: none;
            &.right {
                margin-left: auto;
            }
            a {
                display: block;
                height: 32px;
                line-height: 32px;
                padding: 0 15px;
                color: var(--background);
                border-radius: 3px;
                background: var(--theme);
                transition: opacity 0.35s;
                font-size: 12px;
                &:hover {
                    opacity: 0.85;
                }
            }
        }
    }

    .video-api {
        .video-type,
        .video-list,
        .video-info,
        .video-list-play {
            position: relative;
            background: var(--background);
            border-radius: var(--radius-pc);
            box-shadow: var(--box-shadow);
            padding: 60px 0 0;
            .title {
                position: absolute;
                top: 15px;
                left: -10px;
                background: var(--theme);
                color: var(--background);
                font-weight: 500;
                box-shadow: 2px 5px 10px rgba(49, 58, 70, 0.15);
                height: 30px;
                line-height: 30px;
                padding: 0 10px;
                border-radius: 2px 2px 2px 0;
                user-select: none;
                &::before {
                    content: '';
                    border-style: solid;
                    border-width: 10px;
                    display: block;
                    position: absolute;
                    bottom: -10px;
                    left: 0;
                    margin-bottom: -10px;
                    z-index: -1;
                    border-color: var(--theme) transparent transparent;
                }
            }
            .search {
                position: absolute;
                top: 15px;
                right: 10px;
                display: flex;
                align-items: center;
                input {
                    width: 180px;
                    height: 32px;
                    border: 1px solid var(--classB);
                    border-right: 1px solid transparent;
                    padding: 0 10px;
                    color: var(--minor);
                    font-size: 13px;
                    border-radius: 3px 0 0 3px;
                    transition: border 0.35s;
                    -webkit-appearance: none;
                    &:focus {
                        border: 1px solid var(--theme);
                    }
                }
                button {
                    display: flex;
                    align-items: center;
                    padding: 0 10px;
                    height: 32px;
                    line-height: 32px;
                    text-align: center;
                    background: #f5f7fa;
                    border: 1px solid var(--classB);
                    border-left: none;
                    border-radius: 0 3px 3px 0;
                    svg {
                        width: 14px;
                        height: 14px;
                        fill: var(--routine);
                    }
                }
            }
            .list-item {
                padding: 15px;
                border-top: 1px solid var(--classB);
                display: grid;
                grid-template-columns: repeat(auto-fit, 80px);
                gap: 20px;
                li {
                    background: var(--classD);
                    height: 28px;
                    line-height: 28px;
                    text-align: center;
                    border-radius: 14px;
                    cursor: pointer;
                    color: var(--routine);
                    font-size: 12px;
                    transition: transform 0.35s, box-shadow 0.35s;
                    user-select: none;
                    &:hover {
                        transform: translate3d(0, -3px, 0);
                        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
                    }
                    &.active {
                        color: var(--background);
                        background: var(--theme);
                        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
                    }
                }
            }
        }
        .video-type {
            margin-bottom: 20px;
        }
        .video-list {
            .list {
                display: flex;
                flex-wrap: wrap;
                border-top: 1px solid var(--classB);
                padding: 10px;
                li {
                    width: 16.6666666666%;
                    padding: 10px;
                    animation: jScaleUp 0.5s;
                    a {
                        background: var(--background);
                        position: relative;
                        display: block;
                        transition: box-shadow 0.35s, transform 0.35s;
                        img {
                            width: 100%;
                            height: 220px;
                            object-fit: cover;
                            border-radius: 4px;
                        }
                        h2 {
                            font-size: 15px;
                            color: var(--main);
                            font-weight: normal;
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                            text-align: center;
                            padding: 10px;
                        }
                        i {
                            position: absolute;
                            top: 10px;
                            right: 10px;
                            font-size: 12px;
                            color: var(--background);
                            padding: 2px 5px;
                            border-radius: 2px;
                            background: var(--theme);
                            font-style: normal;
                        }
                        &:hover {
                            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
                            transform: translateY(-3px);
                            img {
                                border-radius: 4px 4px 0 0;
                            }
                        }
                    }
                }
            }
        }
        .video-info {
            margin-bottom: 20px;
            .info {
                padding: 20px;
                border-top: 1px solid var(--classB);
                display: flex;
                .image {
                    position: relative;
                    margin-right: 20px;
                    img {
                        width: 170px;
                        height: 240px;
                        object-fit: cover;
                    }
                    i {
                        position: absolute;
                        top: 10px;
                        right: 10px;
                        font-style: normal;
                        font-size: 12px;
                        background: var(--theme);
                        color: var(--background);
                        padding: 3px 7px;
                        border-radius: 2px;
                    }
                }
                dl {
                    flex: 1;
                    min-width: 0;
                    overflow: hidden;
                    dt {
                        font-size: 24px;
                        color: var(--main);
                        max-width: 100%;
                        overflow: hidden;
                        text-overflow: ellipsis;
                        white-space: nowrap;
                        margin-bottom: 15px;
                    }
                    dd {
                        display: -webkit-box;
                        -webkit-line-clamp: 3;
                        /*! autoprefixer: off */
                        -webkit-box-orient: vertical;
                        /* autoprefixer: on */
                        overflow: hidden;
                        text-overflow: ellipsis;
                        line-height: 24px;
                        margin-bottom: 5px;
                        span {
                            &:first-child {
                                color: var(--minor);
                            }
                            &:last-child {
                                color: var(--routine);
                            }
                        }
                        &:last-child {
                            margin-bottom: 0;
                        }
                    }
                }
            }
            .player {
                padding: 20px;
                border-top: 1px solid var(--classB);
                iframe {
                    width: 100%;
                    height: 480px;
                    background: #000;
                }
                p {
                    text-align: center;
                    color: var(--routine);
                    user-select: none;
                }
            }
        }
        .video-list-play {
            margin-bottom: 20px;
            &:last-child {
                margin-bottom: 0;
            }
        }
        .load {
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 30px 0;
        }
    }
}

code {
    display: inline-block;
    vertical-align: top;
    height: 26px;
    line-height: 26px;
    border-radius: 4px;
    font-size: 12px;
    background: var(--classD);
    padding: 0 5px;
    color: var(--theme);
    margin: 0 3px;
}

pre code {
    display: unset;
    vertical-align: unset;
    height: unset;
    line-height: unset;
    border-radius: unset;
    font-size: unset;
    background: unset;
    padding: unset;
    color: unset;
    margin: unset;
}

.j-fabulous {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    .button {
        display: flex;
        align-items: center;
        .left,
        .right {
            display: flex;
            align-items: center;
            justify-content: center;
            height: 34px;
            white-space: nowrap;
            text-align: center;
            cursor: pointer;
            padding: 0 15px;
            color: var(--background);
            user-select: none;
            transition: opacity 0.35s;
            svg {
                width: 15px;
                height: 15px;
                fill: var(--background);
                margin-right: 5px;
            }
            &:hover {
                opacity: 0.85;
            }
        }
        .left {
            border-radius: 17px;
            background: #ec7259;
        }
        .right {
            background: #ffab2e;
            border-radius: 0 17px 17px 0;
        }
        &.has-admire {
            .left {
                border-radius: 17px 0 0 17px;
            }
        }
    }
}

.j-modal-mask {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: $z-index-8;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(5px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s, visibility 0.5s;
    &.active {
        visibility: visible;
        opacity: 1;
    }
}

.j-admire-modal {
    display: flex;
    align-items: center;
    justify-content: center;
    .content {
        position: relative;
        width: 460px;
        background: var(--background);
        border-radius: var(--radius-pc);
        padding: 30px 0;
        transition: transform 0.5s;
        transform: translate3d(0, -50%, 0);
        .title {
            color: var(--main);
            margin-bottom: 30px;
            text-align: center;
            font-size: 16px;
            text-shadow: var(--text-shadow);
        }
        .code {
            width: 170px;
            height: 170px;
            padding: 10px;
            border: 6px solid var(--theme);
            margin: 0 auto 30px;
            border-radius: 3px;
            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }
        .tips {
            position: relative;
            text-align: center;
            font-size: 12px;
            color: var(--routine);
            margin-bottom: 30px;
            p {
                margin-bottom: 5px;
                &:last-child {
                    margin-bottom: 0;
                }
            }
            img {
                position: absolute;
                width: 100%;
                left: 0;
                bottom: -28px;
            }
        }
        .type {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 30px;
            .item {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                color: var(--info);
                margin: 0 30px;
                svg {
                    width: 40px;
                    height: 40px;
                    margin-bottom: 5px;
                }
            }
        }
        .info {
            text-align: center;
            color: var(--info);
        }
        .close {
            position: absolute;
            top: -15px;
            right: -15px;
            width: 30px;
            height: 30px;
            fill: var(--classA);
            cursor: pointer;
            transition: transform 0.35s;
            &:hover {
                transform: rotate(90deg);
            }
        }
    }
    &.active {
        .content {
            transform: translate3d(0, 0, 0);
        }
    }
}

.j-copy {
    cursor: pointer;
}

.j-comment {
    background: var(--background);
    border-radius: var(--radius-pc);
    box-shadow: var(--box-shadow);
    padding: 20px;
    .title {
        font-weight: 500;
        text-align: center;
        font-size: 24px;
        color: var(--main);
        text-shadow: var(--text-shadow);
        margin-bottom: 20px;
        border-bottom: 1px solid var(--classB);
        padding-bottom: 20px;
    }
    .respond {
        form {
            border-radius: 6px 0 6px 6px;
            background: var(--classD);
            .head {
                display: flex;
                align-items: center;
                border-bottom: 1px solid var(--classA);

                .head-item {
                    position: relative;
                    flex: 1;
                    width: 0;
                    min-width: 0;

                    input {
                        width: 100%;
                        border: none;
                        background: transparent;
                        padding: 0 15px;
                        height: 45px;
                        color: var(--routine);
                        font-size: 14px;
                    }

                    &:nth-child(2) {
                        &::before,
                        &::after {
                            content: '';
                            position: absolute;
                            top: 50%;
                            transform: translateY(-50%);
                            width: 1px;
                            height: 15px;
                            background: var(--classA);
                        }

                        &::before {
                            left: 0;
                        }

                        &::after {
                            right: 0;
                        }
                    }
                }
            }

            .content {
                padding: 15px 15px 0;

                textarea {
                    background-color: transparent;
                    width: 100%;
                    height: 180px;
                    border: none;
                    resize: none;
                    vertical-align: middle;
                    background: url('../img/comment.png') right bottom no-repeat;
                    transition: all 0.45s;
                    font-size: 14px;
                    color: var(--routine);

                    &:focus {
                        background-position-y: 180px;
                    }
                }

                .canvas {
                    position: relative;
                    width: 100%;

                    canvas {
                        background: var(--background);
                        transition: box-shadow 0.35s;
                        border-radius: 4px;

                        &:hover {
                            box-shadow: 0 10px 20px var(--classA);
                        }
                    }
                    ul {
                        display: flex;
                        align-items: center;
                        position: absolute;
                        top: 10px;
                        left: 10px;
                        user-select: none;
                        li {
                            cursor: pointer;
                            margin-right: 10px;
                            &.active {
                                color: var(--theme);
                            }
                        }
                    }
                    ol {
                        display: flex;
                        align-items: center;
                        position: absolute;
                        top: 10px;
                        left: 50%;
                        transform: translateX(-50%);

                        li {
                            width: 20px;
                            height: 20px;
                            border-radius: 50%;
                            margin: 0 5px;
                            cursor: pointer;
                            transition: all 0.35s;
                            &:nth-child(1) {
                                background: var(--main);
                            }
                            &:nth-child(2) {
                                background: var(--success);
                            }
                            &:nth-child(3) {
                                background: var(--warning);
                            }
                            &:nth-child(4) {
                                background: var(--danger);
                            }
                            &.active {
                                box-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);
                            }
                        }
                    }
                    .undo {
                        position: absolute;
                        top: 10px;
                        right: 10px;
                        width: 24px;
                        height: 24px;
                        cursor: pointer;
                        fill: var(--minor);
                        user-select: none;
                        &:hover {
                            fill: var(--theme);
                        }
                    }
                    .animate {
                        position: absolute;
                        bottom: 10px;
                        right: 10px;
                        width: 24px;
                        height: 24px;
                        cursor: pointer;
                        fill: var(--minor);
                        user-select: none;
                        &:hover {
                            fill: var(--theme);
                        }
                    }
                }
            }

            .foot {
                position: relative;
                padding: 15px;
                .right {
                    position: absolute;
                    top: 15px;
                    right: 15px;
                    a {
                        margin-right: 10px;
                        &:hover {
                            color: var(--theme);
                        }
                    }
                    button {
                        border-radius: 3px;
                        height: 32px;
                        padding: 0 15px;
                        border: none;
                        background: var(--theme);
                        color: var(--background);
                        font-size: 14px;
                        transition: all 0.35s;

                        &:hover {
                            opacity: 0.85;
                        }
                    }
                }
            }
        }

        .change {
            display: flex;
            align-items: center;
            justify-content: flex-end;

            button {
                background: var(--classD);
                padding: 0 15px;
                height: 32px;
                border: none;
                font-size: 13px;
                transition: all 0.35s;
                color: var(--main);

                &.active {
                    color: var(--background);
                    background: var(--theme);
                }

                &:first-child {
                    border-top-left-radius: 4px;
                }

                &:last-child {
                    border-top-right-radius: 4px;
                }
            }
        }
    }
    .comment-all {
        padding-top: 20px;
        .comment-list {
            .respond {
                animation: showComment 0.5s;
                margin-left: 63px;
                margin-bottom: 20px;
            }

            li {
                .item {
                    display: flex;
                    margin-bottom: 20px;

                    .left {
                        width: 48px;
                        height: 48px;
                        border-radius: 50%;
                        margin-right: 15px;
                        padding: 3px;
                        border: 1px solid var(--classD);
                    }

                    .right {
                        width: 0;
                        min-width: 0;
                        flex: 1;
                        border-bottom: 1px solid var(--classC);
                        padding-bottom: 15px;

                        .name {
                            display: flex;
                            align-items: center;
                            margin-bottom: 8px;
                            user-select: none;
                            line-height: 20px;
                            color: var(--main);
                            span {
                                margin-right: 10px;
                            }
                            i {
                                display: none;
                                background: var(--theme);
                                color: var(--background);
                                padding: 0 5px;
                                border-radius: 2px;
                                font-style: normal;
                                &.comment-by-author {
                                    display: block;
                                }
                            }
                            em {
                                color: var(--danger);
                                font-style: normal;
                            }
                            div {
                                margin-left: auto;
                                font-size: 12px;
                                color: var(--minor);
                            }
                        }

                        .content {
                            display: none;
                            width: 100%;
                            background: var(--classD);
                            padding: 12px 15px;
                            border-radius: 0 4px 4px 10px;
                            font-size: 14px;
                            color: var(--main);
                            margin-bottom: 8px;
                            word-break: break-all;
                            line-height: 24px;
                            .parent {
                                color: #388bff;
                                margin-bottom: 5px;
                                user-select: none;
                                font-weight: 500;
                            }
                            .canvas {
                                max-width: 100%;
                            }
                            .owo {
                                height: 22px;
                                vertical-align: top;
                            }
                            img {
                                max-width: 100%;
                            }
                        }

                        .meta {
                            display: flex;
                            align-items: center;

                            span {
                                color: var(--minor);
                                margin-right: 10px;
                            }

                            a {
                                display: flex;
                                align-items: center;
                                color: var(--main);
                                font-size: 13px;

                                svg {
                                    width: 15px;
                                    height: 15px;
                                    margin-right: 5px;
                                    fill: var(--main);
                                }

                                &:hover {
                                    color: var(--theme);

                                    svg {
                                        fill: var(--theme);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            .comment-children {
                padding-left: 63px;

                .comment-children {
                    padding-left: 0;
                }
            }
        }
    }
    .j-pagination {
        padding-top: 0;
    }
}

.j-file {
    .item {
        user-select: none;
        position: relative;
        padding: 0 0 20px 30px;
        &::before {
            content: '';
            position: absolute;
            top: 13.5px;
            left: 0;
            width: 13px;
            height: 13px;
            background: var(--classA);
            border-radius: 50%;
            z-index: 2;
        }
        &::after {
            content: '';
            position: absolute;
            top: 0;
            left: 6px;
            width: 1px;
            height: 100%;
            background: var(--classC);
            border-radius: 50%;
        }
        span {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            color: var(--routine);
            cursor: pointer;
            background: var(--classD);
            padding: 10px;
            height: 40px;
            border-radius: 4px;
            &::after {
                content: '';
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                left: -8px;
                width: 0;
                height: 0;
                border-right: 8px solid var(--classD);
                border-top: 8px solid transparent;
                border-bottom: 8px solid transparent;
            }
            svg {
                width: 10px;
                height: 10px;
                fill: var(--minor);
                transform: rotate(180deg);
                margin-left: 5px;
            }
        }
        ul {
            display: none;
            padding-left: 20px;
            li {
                margin-top: 20px;
                a {
                    color: var(--routine);
                    &:hover {
                        color: var(--theme);
                    }
                }
            }
        }
    }
}

.j-label {
    border-bottom: 1px dotted var(--classD);
    margin-bottom: 20px;
    ul {
        display: flex;
        flex-wrap: wrap;
        li {
            padding-bottom: 20px;
            &:nth-child(even) {
                a {
                    background: var(--classD);
                    color: var(--routine);
                    &::after {
                        border-left-color: var(--classD);
                    }
                }
            }
            &:nth-child(odd) {
                a {
                    color: #fff;
                    background: var(--theme);
                    &::after {
                        border-left-color: var(--theme);
                    }
                }
            }
            a {
                position: relative;
                display: block;
                height: 30px;
                line-height: 30px;
                text-align: center;
                padding: 0 20px 0 30px;
                &::after {
                    content: '';
                    position: absolute;
                    top: 0;
                    right: -15px;
                    width: 0;
                    height: 0;
                    z-index: 1;
                    border-left: 15px solid;
                    border-top: 15px solid transparent;
                    border-bottom: 15px solid transparent;
                }
            }
        }
    }
}

.j-loadmore {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    user-select: none;
    a {
        cursor: pointer;
        width: 120px;
        text-align: center;
        line-height: 34px;
        height: 34px;
        color: var(--routine);
        background: var(--background);
        box-shadow: var(--box-shadow);
        border-radius: 17px;
        transition: transform 0.35s;
        &:active {
            transform: scale(0.85);
        }
    }
}

.j-horse {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: url(../img/HorseRaceLamp.gif);
    z-index: $z-index-7;
}

.j-dynamic {
    .respond {
        background: var(--background);
        margin-bottom: 20px;
        box-shadow: var(--box-shadow);
        border-radius: var(--radius-pc);
        padding: 15px;
        .title {
            color: var(--routine);
            margin-bottom: 15px;
        }
        form {
            textarea {
                border-radius: calc(var(--radius-pc) / 2);
                width: 100%;
                vertical-align: middle;
                resize: none;
                padding: 15px;
                border: none;
                background: var(--classD);
                color: var(--routine);
                font-size: 14px;
            }
            .form-foot {
                position: relative;
                background: var(--classD);
                padding: 15px;
                button[type='submit'] {
                    position: absolute;
                    top: 15px;
                    right: 15px;
                    color: var(--background);
                    background: var(--theme);
                    border: none;
                    height: 32px;
                    padding: 0 15px;
                    transition: opacity 0.35s;
                    border-radius: 3px;
                    &:hover {
                        opacity: 0.85;
                    }
                }
            }
        }
    }
    > .comment-list {
        > li {
            background: var(--background);
            margin-bottom: 20px;
            box-shadow: var(--box-shadow);
            border-radius: var(--radius-pc);
            padding: 15px;
            &:last-child {
                margin-bottom: 0;
            }
            .comment-parent {
                .title {
                    display: flex;
                    align-items: center;
                    margin-bottom: 15px;
                    .avatar {
                        width: 40px;
                        height: 40px;
                        border-radius: 50%;
                        padding: 3px;
                        border: 1px solid var(--classD);
                        margin-right: 5px;
                    }
                    .desc {
                        .author {
                            margin-bottom: 5px;
                            color: var(--routine);
                        }
                        .time {
                            font-size: 12px;
                            color: var(--minor);
                        }
                    }
                }
                .content {
                    margin-bottom: 15px;
                    background: var(--classD);
                    padding: 15px;
                    transition: opacity 0.35s;
                    border-radius: calc(var(--radius-pc) / 2);
                    color: var(--routine);
                    line-height: 24px;
                    iframe {
                        width: 100%;
                        border: none;
                    }
                    img {
                        max-width: 100%;
                    }
                    .owo {
                        height: 22px;
                        vertical-align: top;
                    }
                    &:hover {
                        opacity: 0.85;
                    }
                }
                .foot {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    .count {
                        color: var(--minor);
                        font-size: 12px;
                        line-height: 16px;
                    }
                    .action {
                        display: flex;
                        align-items: center;
                        cursor: pointer;
                        .item {
                            display: flex;
                            align-items: center;
                            color: var(--minor);
                            transition: color 0.35s;
                            font-size: 12px;
                            user-select: none;
                            margin-left: 10px;
                            svg {
                                width: 20px;
                                height: 20px;
                                fill: var(--minor);
                                transition: fill 0.35s;
                                margin-right: 1px;
                                &.like {
                                    animation: scaleLove 0.8s infinite alternate;
                                }
                            }
                            &.active {
                                color: var(--theme);
                                svg {
                                    fill: var(--theme);
                                    &.like {
                                        animation: none;
                                    }
                                }
                            }
                            &:hover {
                                color: var(--theme);
                                svg {
                                    fill: var(--theme);
                                    animation-play-state: paused;
                                }
                            }
                        }
                    }
                }
            }
            .list {
                padding-top: 10px;
                margin-top: 10px;
                border-top: 1px solid var(--classC);
                .item {
                    line-height: 22px;
                    font-size: 12px;
                    margin-bottom: 3px;
                    color: var(--main);
                    &:last-child {
                        margin-bottom: 0;
                    }
                    .name {
                        user-select: none;
                        color: var(--theme);
                        font-weight: 500;
                        a {
                            font-weight: 500;
                            color: var(--theme);
                        }
                    }
                }
            }
            .reply {
                display: none;
                margin-top: 10px;
                animation: showComment 0.35s;
                .head {
                    display: flex;
                    align-items: center;
                    margin-bottom: 10px;
                    input {
                        flex: 1;
                        width: auto;
                        height: 34px;
                        border: 1px solid var(--classB);
                        padding: 0 10px;
                        transition: border 0.35s;
                        border-radius: 2px;
                        font-size: 13px;
                        color: var(--routine);
                        &:nth-child(2) {
                            margin: 0 10px;
                        }
                        &:focus {
                            border: 1px solid var(--theme);
                        }
                    }
                }
                textarea {
                    width: 100%;
                    height: 80px;
                    border: 1px solid var(--classB);
                    resize: none;
                    padding: 10px;
                    margin-bottom: 10px;
                    transition: border 0.35s;
                    border-radius: 2px;
                    font-size: 13px;
                    color: var(--routine);
                    vertical-align: middle;
                    &:focus {
                        border: 1px solid var(--theme);
                    }
                }
                .foot {
                    display: flex;
                    justify-content: space-between;
                    button {
                        background: var(--theme);
                        color: #fff;
                        border-radius: 2px;
                        vertical-align: middle;
                        width: 70px;
                        height: 30px;
                        border: none;
                        transition: opacity 0.35s;
                        &:hover {
                            opacity: 0.85;
                        }
                    }
                }
            }
        }
    }
}

.j-defend {
    box-shadow: var(--box-shadow);
    border-radius: calc(var(--radius-pc) / 2);
    overflow: hidden;
    user-select: none;
    .title {
        background: var(--warning);
        line-height: 40px;
        height: 40px;
        text-align: center;
        color: var(--background);
    }
    .content {
        background: var(--background);
        padding: 15px;
        line-height: 30px;
        color: var(--routine);
        p:nth-child(2) {
            text-indent: 2em;
        }
        p:nth-child(3) {
            text-align: right;
        }
    }
}

.j-search-down-xs {
    display: none;
    position: fixed;
    top: 55px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: $z-index-3;
    visibility: hidden;
    overflow: hidden;
    transform-style: preserve-3d;
    &.active {
        visibility: visible;
        .content {
            visibility: visible;
            opacity: 1;
            transform: rotateX(0);
        }
        .mask {
            visibility: visible;
            opacity: 1;
        }
    }
    .content {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 3;
        background: var(--background);
        padding: 20px 15px 0;
        overflow: hidden;
        transform: perspective(500px) rotateX(-90deg);
        visibility: hidden;
        transform-origin: top;
        transition: transform 0.5s, visibility 0.5s;
        border-top: 1px solid var(--classD);
        backface-visibility: hidden;
        perspective: 1000;
        overscroll-behavior: none;
        form {
            display: flex;
            align-items: center;
            margin-bottom: 15px;
            input {
                flex: 1;
                height: 36px;
                padding: 0 10px;
                border: 1px solid var(--classA);
                border-right: none;
                border-radius: 2px 0 0 2px;
                color: var(--routine);
                -webkit-appearance: none;
            }
            button {
                padding: 0 10px;
                height: 36px;
                border: none;
                background: var(--theme);
                color: var(--background);
                border-radius: 0 2px 2px 0;
            }
        }
        .title {
            color: var(--routine);
            margin-bottom: 10px;
            font-size: 16px;
            display: flex;
            align-items: center;
            svg {
                width: 22px;
                height: 22px;
                fill: var(--routine);
                margin-right: 5px;
            }
        }
        .cloud {
            display: flex;
            flex-wrap: wrap;
            padding-bottom: 15px;
            li {
                padding: 5px;
                a {
                    display: block;
                    padding: 0 10px;
                    height: 24px;
                    line-height: 24px;
                    border-radius: 2px;
                    font-size: 12px;
                    color: var(--background);
                }
            }
        }
    }
    .mask {
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.65);
        backdrop-filter: blur(5px);
        opacity: 0;
        visibility: hidden;
        transition: visibility 0.5s, opacity 0.5s;
        z-index: 1;
        transform: translateZ(-500px);
        overscroll-behavior: none;
    }
}

.j-sidebar-xs {
    display: none;
    position: fixed;
    top: 55px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: $z-index-3;
    visibility: hidden;
    &.active {
        visibility: visible;
        .mask {
            opacity: 1;
            visibility: visible;
        }
        .content {
            visibility: visible;
            transform: translate3d(0, 0, 0);
        }
    }
    .content {
        position: absolute;
        top: 0;
        left: 0;
        width: 75%;
        bottom: 0;
        background: var(--classD);
        z-index: 3;
        visibility: hidden;
        transform: translate3d(-100%, 0, 0);
        transition: visibility 0.5s, transform 0.5s;
        overflow-y: auto;
        overscroll-behavior: none;
        -webkit-overflow-scrolling: touch;
        &::-webkit-scrollbar {
            display: none;
        }
        .item {
            padding: 20px;
            border-bottom: 1px solid var(--classA);
            &:last-child {
                border-bottom: none;
                .card {
                    .title {
                        background: #46c47c;
                        &::after {
                            border-color: #46c47c transparent transparent;
                        }
                    }
                }
            }
            .card {
                position: relative;
                background: var(--background);
                border-radius: var(--radius-wap);
                box-shadow: var(--box-shadow);
                padding: 45px 15px 15px;
                .title {
                    position: absolute;
                    top: 15px;
                    left: -10px;
                    background: #6fa3ef;
                    color: var(--background);
                    font-weight: 500;
                    box-shadow: 2px 5px 10px rgba(49, 58, 70, 0.15);
                    font-size: 14px;
                    height: 30px;
                    line-height: 30px;
                    padding: 0 10px;
                    border-radius: 2px 2px 2px 0;
                    &::after {
                        content: '';
                        border-style: solid;
                        border-width: 10px;
                        display: block;
                        position: absolute;
                        bottom: -10px;
                        left: 0;
                        margin-bottom: -10px;
                        z-index: -1;
                        border-color: #6fa3ef transparent transparent;
                    }
                }
                ul {
                    li {
                        display: flex;
                        align-items: center;
                        line-height: 40px;
                        border-bottom: 1px solid var(--classB);
                        &.active {
                            svg {
                                fill: var(--theme);
                            }
                            a {
                                color: var(--theme);
                            }
                        }
                        svg {
                            width: 13px;
                            height: 13px;
                            margin-right: 5px;
                            fill: var(--routine);
                        }
                        a {
                            color: #606266;
                            flex: 1;
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }
                    }
                }
            }
        }
        .user {
            text-align: center;
            border-bottom: 1px solid var(--classA);
            img {
                width: 80px;
                height: 80px;
                border-radius: 50%;
                padding: 5px;
                border: 1px solid var(--classB);
                box-shadow: 0px 5px 15px rgba(56, 94, 209, 0.2);
                margin-bottom: 15px;
            }
            .name {
                font-size: 16px;
                color: var(--main);
                font-weight: 500;
                margin-bottom: 10px;
            }
            .desc {
                display: none;
                color: var(--routine);
            }
        }
    }
    .mask {
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.65);
        backdrop-filter: blur(5px);
        opacity: 0;
        visibility: hidden;
        transition: visibility 0.5s, opacity 0.5s;
        overscroll-behavior: none;
    }
}

.j-tag {
    display: inline-block;
    height: 32px;
    padding: 0 10px;
    line-height: 30px;
    font-size: 12px;
    border-radius: 4px;
    box-sizing: border-box;
    white-space: nowrap;
    &.default {
        background-color: #ecf5ff;
        border: 1px solid #d9ecff;
        color: #409eff;
    }
    &.success {
        background-color: #f0f9eb;
        border: 1px solid #e1f3d8;
        color: #67c23a;
    }
    &.info {
        background-color: #f4f4f5;
        border: 1px solid #e9e9eb;
        color: #909399;
    }
    &.warning {
        background-color: #fdf6ec;
        border: 1px solid #faecd8;
        color: #e6a23c;
    }
    &.danger {
        background-color: #fef0f0;
        border: 1px solid #fde2e2;
        color: #f56c6c;
    }
}

.j-btn {
    display: inline-block;
    white-space: nowrap;
    text-align: center;
    transition: 0.1s;
    font-weight: 500;
    padding: 10px 20px;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    &.default {
        background: #fff;
        border: 1px solid #dcdfe6;
        color: #606266 !important;
        &:hover {
            color: #409eff !important;
            border-color: #c6e2ff;
            background-color: #ecf5ff;
            text-decoration: unset !important;
        }
    }
    &.primary {
        color: #fff !important;
        background-color: #409eff;
        border-color: #409eff;
        &:hover {
            background: #66b1ff;
            border-color: #66b1ff;
            text-decoration: unset !important;
        }
    }
    &.success {
        color: #fff !important;
        background-color: #67c23a;
        border-color: #67c23a;
        &:hover {
            background: #85ce61;
            border-color: #85ce61;
            text-decoration: unset !important;
        }
    }
    &.info {
        color: #fff !important;
        background-color: #909399;
        border-color: #909399;
        &:hover {
            background: #a6a9ad;
            border-color: #a6a9ad;
            text-decoration: unset !important;
        }
    }
    &.warning {
        color: #fff !important;
        background-color: #e6a23c;
        border-color: #e6a23c;
        &:hover {
            background: #ebb563;
            border-color: #ebb563;
            text-decoration: unset !important;
        }
    }
    &.danger {
        color: #fff !important;
        background-color: #f56c6c;
        border-color: #f56c6c;
        &:hover {
            background: #f78989;
            border-color: #f78989;
            text-decoration: unset !important;
        }
    }
}

.j-alt {
    width: 100%;
    padding: 8px 15px 8px 35px;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    transition: opacity 0.2s;
    font-size: 13px;
    &::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 10px;
        transform: translateY(-50%);
        width: 20px;
        height: 18px;
        vertical-align: top;
    }
    &.success {
        background-color: #f0f9eb;
        color: #67c23a;
        &::before {
            background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjA1NzQ4Nzc4NzcyIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjI0MTUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMiA4NS4zMzMzMzNjMjM1LjY0OCAwIDQyNi42NjY2NjcgMTkxLjAxODY2NyA0MjYuNjY2NjY3IDQyNi42NjY2NjdzLTE5MS4wMTg2NjcgNDI2LjY2NjY2Ny00MjYuNjY2NjY3IDQyNi42NjY2NjdTODUuMzMzMzMzIDc0Ny42NDggODUuMzMzMzMzIDUxMiAyNzYuMzUyIDg1LjMzMzMzMyA1MTIgODUuMzMzMzMzeiBtLTc0Ljk2NTMzMyA1NTAuNEwzNDYuNDUzMzMzIDU0NS4xNTJhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDEgMC02MC4zMzA2NjYgNjAuMzMwNjY3bDEyMC43MDQgMTIwLjcwNGE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMCAwIDYwLjMzMDY2NiAwbDMwMS42NTMzMzQtMzAxLjY5NmE0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMSAwLTYwLjI4OC02MC4zMzA2NjdsLTI3MS41MzA2NjcgMjcxLjQ4OCAwLjA0MjY2NyAwLjA4NTMzM3oiIGZpbGw9IiM1MkM0MUEiIHAtaWQ9IjI0MTYiPjwvcGF0aD48L3N2Zz4=');
            background-repeat: no-repeat;
            background-position: center center;
        }
    }
    &.info {
        background-color: #f4f4f5;
        color: #909399;
        &::before {
            background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjA1NzQ5NDI2MDY2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQ3ODQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMiA1MS4yYy0yNTYgMC00NjAuOCAyMDQuOC00NjAuOCA0NjAuOHMyMDQuOCA0NjAuOCA0NjAuOCA0NjAuOCA0NjAuOC0yMDQuOCA0NjAuOC00NjAuOC0yMDQuOC00NjAuOC00NjAuOC00NjAuOHogbTAgNzc4LjI0Yy00MC45NiAwLTcxLjY4LTMwLjcyLTcxLjY4LTcxLjY4czMwLjcyLTcxLjY4IDcxLjY4LTcxLjY4YzQwLjk2IDAgNzEuNjggMzAuNzIgNzEuNjggNzEuNjhzLTMwLjcyIDcxLjY4LTcxLjY4IDcxLjY4eiBtNTEuMi0yNTZjMCA0MC45Ni0yMC40OCA3MS42OC00Ni4wOCA3MS42OGgtMTAuMjRjLTI1LjYgMC00Ni4wOC0zMC43Mi00Ni4wOC03MS42OGwtMzUuODQtMjkxLjg0YzAtNDAuOTYgMjAuNDgtNzEuNjggNDYuMDgtNzEuNjhoNjYuNTZjMjUuNiAwIDQ2LjA4IDMwLjcyIDQ2LjA4IDcxLjY4bC0yMC40OCAyOTEuODR6IiBwLWlkPSI0Nzg1IiBmaWxsPSIjOGE4YThhIj48L3BhdGg+PC9zdmc+');
            background-repeat: no-repeat;
            background-position: center center;
        }
    }
    &.warning {
        background-color: #fdf6ec;
        color: #e6a23c;
        &::before {
            background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjA1NzQ5NTM3NTM2IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjYwNjciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMiA3OC43NjkyMzFDMjczLjcyMzA3NyA3OC43NjkyMzEgNzguNzY5MjMxIDI3My43MjMwNzcgNzguNzY5MjMxIDUxMnMxOTQuOTUzODQ2IDQzMy4yMzA3NjkgNDMzLjIzMDc2OSA0MzMuMjMwNzY5IDQzMy4yMzA3NjktMTk0Ljk1Mzg0NiA0MzMuMjMwNzY5LTQzMy4yMzA3NjlTNzUwLjI3NjkyMyA3OC43NjkyMzEgNTEyIDc4Ljc2OTIzMXogbTYxLjU5NzUzOCAyMDIuNDc2MzA3bC0xMy44NjMzODQgMzA2LjgwNjE1NGMwIDE4Ljc4NjQ2Mi0xNi42MjAzMDggMzIuMjU2LTM1Ljk5NzUzOSAzMi4yNTZoLTguMjcwNzY5Yy0xOS40MTY2MTUgMC0zMy4yOC0xMy40Njk1MzgtMzYuMDM2OTIzLTMyLjI5NTM4NGwtMTMuODYzMzg1LTMwNi43NjY3N2MwLTE4LjgyNTg0NiAxMy44NjMzODUtMzIuMjk1Mzg1IDMwLjQ4MzY5My0zMi4yOTUzODRoNDQuMzA3NjkyYzE5LjM3NzIzMSAwIDM1Ljk5NzUzOCAxMy40Njk1MzggMzMuMjQwNjE1IDMyLjI5NTM4NHogbS0xOC4xOTU2OTIgNDc3LjUzODQ2MmE1MS41NTQ0NjIgNTEuNTU0NDYyIDAgMCAxLTM2Ljk4MjE1NCAxNi4yNjU4NDZjLTE1Ljg3MiAwLTI2LjQyNzA3Ny01LjQzNTA3Ny0zNi45ODIxNTQtMTYuMjY1ODQ2LTEwLjU5NDQ2Mi0xMC44MzA3NjktMTUuODcyLTIxLjY2MTUzOC0xNS44NzItMzcuODg4IDAtMTYuMjY1ODQ2IDUuMjc3NTM4LTI3LjA5NjYxNSAxNS44NzItMzcuOTI3Mzg1IDEwLjU1NTA3Ny0xMC44MzA3NjkgMjEuMTEwMTU0LTE2LjIyNjQ2MiAzNi45ODIxNTQtMTYuMjI2NDYxIDE1LjgzMjYxNSAwIDI5LjA2NTg0NiA1LjM5NTY5MiAzOS42MjA5MjMgMTYuMjI2NDYxIDEwLjU1NTA3NyAxMC44MzA3NjkgMTUuODMyNjE1IDIxLjY2MTUzOCAxNS44MzI2MTYgMzcuOTI3Mzg1LTIuNTk5Mzg1IDE2LjIyNjQ2Mi03Ljg3NjkyMyAyOS43NzQ3NjktMTguNDcxMzg1IDM3Ljg4OHoiIGZpbGw9IiNGRjhGMDAiIHAtaWQ9IjYwNjgiPjwvcGF0aD48L3N2Zz4=');
            background-repeat: no-repeat;
            background-position: center center;
        }
    }
    &.error {
        background-color: #fef0f0;
        color: #f56c6c;
        &::before {
            background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNjA1NzQ5NjAwMDMxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9Ijc0ODEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTUxMiA2NGE0NDggNDQ4IDAgMSAwIDQ0OCA0NDhBNDQ4IDQ0OCAwIDAgMCA1MTIgNjR6IG0yMjIuMDggNjA5LjkyYTQyLjY2NjY2NyA0Mi42NjY2NjcgMCAxIDEtNjAuMzczMzMzIDYwLjM3MzMzM0w1MTIgNTcxLjUybC0xNjIuNzczMzMzIDE2Mi43NzMzMzNhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDAgMS02MC4zNzMzMzQtNjAuMzczMzMzTDQ1MC43NzMzMzMgNTEybC0xNjIuNzczMzMzLTE2My42MjY2NjdhNDIuNjY2NjY3IDQyLjY2NjY2NyAwIDEgMSA2MC4zNzMzMzMtNjAuMzczMzMzTDUxMiA0NTAuNzczMzMzbDE2Mi43NzMzMzMtMTYyLjc3MzMzM2E0Mi42NjY2NjcgNDIuNjY2NjY3IDAgMSAxIDYwLjM3MzMzNCA2MC4zNzMzMzNMNTcxLjUyIDUxMnoiIGZpbGw9IiNGRjNEMUQiIHAtaWQ9Ijc0ODIiPjwvcGF0aD48L3N2Zz4=');
            background-repeat: no-repeat;
            background-position: center center;
        }
    }
}

.j-line {
    display: flex;
    justify-content: center;
    align-items: center;
    span {
        position: relative;
        color: var(--minor);
        line-height: 24px;
        height: 24px;
        padding: 0 15px;
        transition: padding 0.35s;
        &::before,
        &::after {
            content: '';
            position: absolute;
            top: 50%;
            width: 20px;
            height: 1px;
            border-top: 1px solid #f73859;
        }
        &::before {
            left: -35px;
        }
        &::after {
            right: -35px;
        }
        &:hover {
            padding: 0;
        }
    }
}

.j-tabs {
    width: 100%;
    overflow: hidden;
    background: var(--background);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--classB);
    border-radius: 4px;
    .nav {
        user-select: none;
        width: 100%;
        height: 42px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior: none;
        -webkit-overflow-scrolling: touch;
        display: flex;
        background: #f5f7fa;
        &::-webkit-scrollbar {
            display: none;
        }
        span {
            padding: 0 20px;
            line-height: 40px;
            height: 40px;
            color: var(--minor);
            cursor: pointer;
            transition: color 0.5s;
            white-space: nowrap;
            &::after {
                content: '';
                position: absolute;
                bottom: -1px;
                left: 20px;
                right: 20px;
                height: 2px;
                background: var(--theme);
                transform: scale3d(0, 0, 0);
                opacity: 0;
                transition: transform 0.5s, opacity 0.5s;
            }
            &.active {
                position: relative;
                color: var(--theme);
                &::after {
                    opacity: 1;
                    transform: scale3d(1, 1, 1);
                }
            }
        }
    }
    .content {
        div {
            display: none;
            padding: 15px;
            animation: showTabs 0.5s;
            color: var(--routine);
            &.active {
                display: block;
            }
        }
    }
}

.j-card-default {
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid var(--classC);
    .head {
        user-select: none;
        border-bottom: 1px solid var(--classC);
        padding: 0 15px;
        line-height: 40px;
        height: 40px;
        color: var(--main);
    }
    .content {
        padding: 15px;
        color: var(--routine);
    }
}

.j-collapse {
    .collapse-head {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: var(--routine);
        cursor: pointer;
        background: var(--classD);
        padding: 10px 20px;
        height: 40px;
        border-radius: 4px;
        svg {
            width: 10px;
            height: 10px;
            fill: var(--minor);
            transform: rotate(180deg);
        }
    }
    .collapse-body {
        display: none;
        padding: 20px;
        color: var(--routine);
    }
}

.j-timeline {
    .item {
        position: relative;
        padding: 20px 30px;
        color: var(--routine);
        &::before {
            content: '';
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: 0;
            width: 13px;
            height: 13px;
            background: var(--classA);
            border-radius: 50%;
            z-index: 2;
        }
        &::after {
            content: '';
            position: absolute;
            top: 0;
            left: 6px;
            width: 1px;
            height: 100%;
            background: var(--classC);
            border-radius: 50%;
        }
    }
}

.j-photos {
    display: flex;
    flex-wrap: wrap;
    a {
        position: relative;
        display: flex;
        flex: 0 0 25%;
        max-width: 25%;
        padding-right: 20px;
        padding-top: 20px;
        transition: transform 0.35s;
        flex-shrink: 0;
        min-width: 0;
        &:nth-child(4n) {
            padding-right: 0;
        }
        &:nth-child(-n + 4) {
            padding-top: 0;
        }
        &:hover {
            transform: translate3d(0, -5px, 0);
        }
        img {
            flex: 1 1 auto;
        }
    }
}

.j-card-nav {
    display: flex;
    flex-wrap: wrap;
    .item {
        width: 25%;
        padding: 10px;
    }
    .nav {
        display: flex;
        align-items: center;
        border-radius: 4px;
        box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
        transition: transform 0.35s;
        padding: 15px;
        .avatar {
            min-width: 30px;
            min-height: 30px;
            width: 30px;
            height: 30px;
            background-size: cover;
            border-radius: 50%;
            margin-right: 5px;
        }
        .content {
            flex: 1;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: #fff;
        }
        svg {
            width: 18px;
            height: 18px;
            fill: #fff;
        }
        &:hover {
            text-decoration: none !important;
            transform: translate3d(0, -5px, 0);
        }
    }
}
