@font-face {
    font-family: "iconfont"; /* Project id 2077486 */
    src: url(data:font/woff2;base64,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) format('woff2'),
    url(data:font/woff;base64,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) format('woff'),
    url(../font/iconfont.ttf) format('truetype');
}

.iconfont {
    font-family: "iconfont" !important;
    font-size: 16px;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-duanshipin:before {
    content: "\e67c";
}

.icon-liwu:before {
    content: "\e654";
}

.icon-add-friends_icon:before {
    content: "\e66c";
}

.icon-tupian-xianxing:before {
    content: "\e634";
}

.icon-wo:before {
    content: "\e6ee";
}

.icon-shourujine:before {
    content: "\e639";
}

.icon-liebiao:before {
    content: "\e645";
}

.icon-tubiaolunkuo-:before {
    content: "\e617";
}

.icon-zhuanzhanghuikuan:before {
    content: "\e618";
}

.icon-jiaose:before {
    content: "\e68f";
}

.icon-tixian:before {
    content: "\e615";
}

.icon-tixian1:before {
    content: "\e607";
}

.icon-tubiao_fanganjiesuan:before {
    content: "\e633";
}

.icon-2fengongsi:before {
    content: "\e62b";
}

.icon-xinzengyonghu:before {
    content: "\e625";
}

.icon-yewu:before {
    content: "\e601";
}

.icon-shenpi:before {
    content: "\e62c";
}

.icon-licai:before {
    content: "\e644";
}

.icon-shouye:before {
    content: "\e600";
}

.icon-shoudongbiaozhu:before {
    content: "\e64e";
}

.icon-shenqing:before {
    content: "\e7e3";
}

.icon-xitongshezhi:before {
    content: "\e611";
}

.icon-huiyuan:before {
    content: "\e605";
}

.icon-baobiao:before {
    content: "\e74b";
}

.icon-fengongsiyanlian:before {
    content: "\e610";
}

.icon-dongjie:before {
    content: "\e627";
}

.icon-daililiebiaoICO:before {
    content: "\e612";
}

.icon-xiaoxi:before {
    content: "\e606";
}

.icon-guzhang:before {
    content: "\e608";
}

.icon-ic_line_shgl:before {
    content: "\e616";
}


@charset "UTF-8";
/*!
 * animate.css - https://animate.style/
 * Version - 4.0.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
    --animate-duration: 1s;
    --animate-delay: 1s;
    --animate-repeat: 1;
}

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-duration: var(--animate-duration);
    animation-duration: var(--animate-duration);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.animated.repeat-1 {
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-iteration-count: var(--animate-repeat);
    animation-iteration-count: var(--animate-repeat);
}

.animated.repeat-2 {
    -webkit-animation-iteration-count: calc(1 * 2);
    animation-iteration-count: calc(1 * 2);
    -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
    animation-iteration-count: calc(var(--animate-repeat) * 2);
}

.animated.repeat-3 {
    -webkit-animation-iteration-count: calc(1 * 3);
    animation-iteration-count: calc(1 * 3);
    -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
    animation-iteration-count: calc(var(--animate-repeat) * 3);
}

.animated.delay-1s {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
    -webkit-animation-delay: var(--animate-delay);
    animation-delay: var(--animate-delay);
}

.animated.delay-2s {
    -webkit-animation-delay: calc(1s * 2);
    animation-delay: calc(1s * 2);
    -webkit-animation-delay: calc(var(--animate-delay) * 2);
    animation-delay: calc(var(--animate-delay) * 2);
}

.animated.delay-3s {
    -webkit-animation-delay: calc(1s * 3);
    animation-delay: calc(1s * 3);
    -webkit-animation-delay: calc(var(--animate-delay) * 3);
    animation-delay: calc(var(--animate-delay) * 3);
}

.animated.delay-4s {
    -webkit-animation-delay: calc(1s * 4);
    animation-delay: calc(1s * 4);
    -webkit-animation-delay: calc(var(--animate-delay) * 4);
    animation-delay: calc(var(--animate-delay) * 4);
}

.animated.delay-5s {
    -webkit-animation-delay: calc(1s * 5);
    animation-delay: calc(1s * 5);
    -webkit-animation-delay: calc(var(--animate-delay) * 5);
    animation-delay: calc(var(--animate-delay) * 5);
}

.animated.faster {
    -webkit-animation-duration: calc(1s / 2);
    animation-duration: calc(1s / 2);
    -webkit-animation-duration: calc(var(--animate-duration) / 2);
    animation-duration: calc(var(--animate-duration) / 2);
}

.animated.fast {
    -webkit-animation-duration: calc(1s * 0.8);
    animation-duration: calc(1s * 0.8);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
    animation-duration: calc(var(--animate-duration) * 0.8);
}

.animated.slow {
    -webkit-animation-duration: calc(1s * 2);
    animation-duration: calc(1s * 2);
    -webkit-animation-duration: calc(var(--animate-duration) * 2);
    animation-duration: calc(var(--animate-duration) * 2);
}

.animated.slower {
    -webkit-animation-duration: calc(1s * 3);
    animation-duration: calc(1s * 3);
    -webkit-animation-duration: calc(var(--animate-duration) * 3);
    animation-duration: calc(var(--animate-duration) * 3);
}

@media print, (prefers-reduced-motion: reduce) {
    .animated {
        -webkit-animation-duration: 1ms !important;
        animation-duration: 1ms !important;
        -webkit-transition-duration: 1ms !important;
        transition-duration: 1ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
    }

    .animated[class*='Out'] {
        opacity: 0;
    }
}

/* Attention seekers  */
@-webkit-keyframes bounce {
    from,
    20%,
    53%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    40%,
    43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
        transform: translate3d(0, -30px, 0) scaleY(1.1);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
        transform: translate3d(0, -15px, 0) scaleY(1.05);
    }

    80% {
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
        transform: translate3d(0, 0, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
        transform: translate3d(0, -4px, 0) scaleY(1.02);
    }
}

@keyframes bounce {
    from,
    20%,
    53%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    40%,
    43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
        transform: translate3d(0, -30px, 0) scaleY(1.1);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
        transform: translate3d(0, -15px, 0) scaleY(1.05);
    }

    80% {
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
        transform: translate3d(0, 0, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
        transform: translate3d(0, -4px, 0) scaleY(1.02);
    }
}

.bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

@-webkit-keyframes flash {
    from,
    50%,
    to {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0;
    }
}

@keyframes flash {
    from,
    50%,
    to {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0;
    }
}

.flash {
    -webkit-animation-name: flash;
    animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes pulse {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}

@-webkit-keyframes rubberBand {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    30% {
        -webkit-transform: scale3d(1.25, 0.75, 1);
        transform: scale3d(1.25, 0.75, 1);
    }

    40% {
        -webkit-transform: scale3d(0.75, 1.25, 1);
        transform: scale3d(0.75, 1.25, 1);
    }

    50% {
        -webkit-transform: scale3d(1.15, 0.85, 1);
        transform: scale3d(1.15, 0.85, 1);
    }

    65% {
        -webkit-transform: scale3d(0.95, 1.05, 1);
        transform: scale3d(0.95, 1.05, 1);
    }

    75% {
        -webkit-transform: scale3d(1.05, 0.95, 1);
        transform: scale3d(1.05, 0.95, 1);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes rubberBand {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    30% {
        -webkit-transform: scale3d(1.25, 0.75, 1);
        transform: scale3d(1.25, 0.75, 1);
    }

    40% {
        -webkit-transform: scale3d(0.75, 1.25, 1);
        transform: scale3d(0.75, 1.25, 1);
    }

    50% {
        -webkit-transform: scale3d(1.15, 0.85, 1);
        transform: scale3d(1.15, 0.85, 1);
    }

    65% {
        -webkit-transform: scale3d(0.95, 1.05, 1);
        transform: scale3d(0.95, 1.05, 1);
    }

    75% {
        -webkit-transform: scale3d(1.05, 0.95, 1);
        transform: scale3d(1.05, 0.95, 1);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.rubberBand {
    -webkit-animation-name: rubberBand;
    animation-name: rubberBand;
}

@-webkit-keyframes shakeX {
    from,
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0);
    }

    20%,
    40%,
    60%,
    80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0);
    }
}

@keyframes shakeX {
    from,
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0);
    }

    20%,
    40%,
    60%,
    80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0);
    }
}

.shakeX {
    -webkit-animation-name: shakeX;
    animation-name: shakeX;
}

@-webkit-keyframes shakeY {
    from,
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0);
    }

    20%,
    40%,
    60%,
    80% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
    }
}

@keyframes shakeY {
    from,
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0);
    }

    20%,
    40%,
    60%,
    80% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
    }
}

.shakeY {
    -webkit-animation-name: shakeY;
    animation-name: shakeY;
}

@-webkit-keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

.headShake {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-name: headShake;
    animation-name: headShake;
}

@-webkit-keyframes swing {
    20% {
        -webkit-transform: rotate3d(0, 0, 1, 15deg);
        transform: rotate3d(0, 0, 1, 15deg);
    }

    40% {
        -webkit-transform: rotate3d(0, 0, 1, -10deg);
        transform: rotate3d(0, 0, 1, -10deg);
    }

    60% {
        -webkit-transform: rotate3d(0, 0, 1, 5deg);
        transform: rotate3d(0, 0, 1, 5deg);
    }

    80% {
        -webkit-transform: rotate3d(0, 0, 1, -5deg);
        transform: rotate3d(0, 0, 1, -5deg);
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg);
    }
}

@keyframes swing {
    20% {
        -webkit-transform: rotate3d(0, 0, 1, 15deg);
        transform: rotate3d(0, 0, 1, 15deg);
    }

    40% {
        -webkit-transform: rotate3d(0, 0, 1, -10deg);
        transform: rotate3d(0, 0, 1, -10deg);
    }

    60% {
        -webkit-transform: rotate3d(0, 0, 1, 5deg);
        transform: rotate3d(0, 0, 1, 5deg);
    }

    80% {
        -webkit-transform: rotate3d(0, 0, 1, -5deg);
        transform: rotate3d(0, 0, 1, -5deg);
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg);
    }
}

.swing {
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-animation-name: swing;
    animation-name: swing;
}

@-webkit-keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    10%,
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%,
    50%,
    70%,
    90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%,
    60%,
    80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    10%,
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%,
    50%,
    70%,
    90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%,
    60%,
    80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.tada {
    -webkit-animation-name: tada;
    animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }

    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }

    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }

    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }

    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes wobble {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }

    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }

    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }

    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }

    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.wobble {
    -webkit-animation-name: wobble;
    animation-name: wobble;
}

@-webkit-keyframes jello {
    from,
    11.1%,
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

@keyframes jello {
    from,
    11.1%,
    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

.jello {
    -webkit-animation-name: jello;
    animation-name: jello;
    -webkit-transform-origin: center;
    transform-origin: center;
}

@-webkit-keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.heartBeat {
    -webkit-animation-name: heartBeat;
    animation-name: heartBeat;
    -webkit-animation-duration: calc(1s * 1.3);
    animation-duration: calc(1s * 1.3);
    -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
    animation-duration: calc(var(--animate-duration) * 1.3);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}

/* Back entrances */
@-webkit-keyframes backInDown {
    0% {
        -webkit-transform: translateY(-1200px) scale(0.7);
        transform: translateY(-1200px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes backInDown {
    0% {
        -webkit-transform: translateY(-1200px) scale(0.7);
        transform: translateY(-1200px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

.backInDown {
    -webkit-animation-name: backInDown;
    animation-name: backInDown;
}

@-webkit-keyframes backInLeft {
    0% {
        -webkit-transform: translateX(-2000px) scale(0.7);
        transform: translateX(-2000px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes backInLeft {
    0% {
        -webkit-transform: translateX(-2000px) scale(0.7);
        transform: translateX(-2000px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

.backInLeft {
    -webkit-animation-name: backInLeft;
    animation-name: backInLeft;
}

@-webkit-keyframes backInRight {
    0% {
        -webkit-transform: translateX(2000px) scale(0.7);
        transform: translateX(2000px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes backInRight {
    0% {
        -webkit-transform: translateX(2000px) scale(0.7);
        transform: translateX(2000px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

.backInRight {
    -webkit-animation-name: backInRight;
    animation-name: backInRight;
}

@-webkit-keyframes backInUp {
    0% {
        -webkit-transform: translateY(1200px) scale(0.7);
        transform: translateY(1200px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes backInUp {
    0% {
        -webkit-transform: translateY(1200px) scale(0.7);
        transform: translateY(1200px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

.backInUp {
    -webkit-animation-name: backInUp;
    animation-name: backInUp;
}

/* Back exists */
@-webkit-keyframes backOutDown {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateY(700px) scale(0.7);
        transform: translateY(700px) scale(0.7);
        opacity: 0.7;
    }
}

@keyframes backOutDown {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateY(700px) scale(0.7);
        transform: translateY(700px) scale(0.7);
        opacity: 0.7;
    }
}

.backOutDown {
    -webkit-animation-name: backOutDown;
    animation-name: backOutDown;
}

@-webkit-keyframes backOutLeft {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateX(-2000px) scale(0.7);
        transform: translateX(-2000px) scale(0.7);
        opacity: 0.7;
    }
}

@keyframes backOutLeft {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateX(-2000px) scale(0.7);
        transform: translateX(-2000px) scale(0.7);
        opacity: 0.7;
    }
}

.backOutLeft {
    -webkit-animation-name: backOutLeft;
    animation-name: backOutLeft;
}

@-webkit-keyframes backOutRight {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateX(2000px) scale(0.7);
        transform: translateX(2000px) scale(0.7);
        opacity: 0.7;
    }
}

@keyframes backOutRight {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateX(2000px) scale(0.7);
        transform: translateX(2000px) scale(0.7);
        opacity: 0.7;
    }
}

.backOutRight {
    -webkit-animation-name: backOutRight;
    animation-name: backOutRight;
}

@-webkit-keyframes backOutUp {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateY(-700px) scale(0.7);
        transform: translateY(-700px) scale(0.7);
        opacity: 0.7;
    }
}

@keyframes backOutUp {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateY(-700px) scale(0.7);
        transform: translateY(-700px) scale(0.7);
        opacity: 0.7;
    }
}

.backOutUp {
    -webkit-animation-name: backOutUp;
    animation-name: backOutUp;
}

/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
    from,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        -webkit-transform: scale3d(0.97, 0.97, 0.97);
        transform: scale3d(0.97, 0.97, 0.97);
    }

    to {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes bounceIn {
    from,
    20%,
    40%,
    60%,
    80%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        -webkit-transform: scale3d(0.97, 0.97, 0.97);
        transform: scale3d(0.97, 0.97, 0.97);
    }

    to {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.bounceIn {
    -webkit-animation-duration: calc(1s * 0.75);
    animation-duration: calc(1s * 0.75);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
    animation-duration: calc(var(--animate-duration) * 0.75);
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
        transform: translate3d(0, -3000px, 0) scaleY(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
        transform: translate3d(0, 25px, 0) scaleY(0.9);
    }

    75% {
        -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
        transform: translate3d(0, -10px, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
        transform: translate3d(0, 5px, 0) scaleY(0.985);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInDown {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
        transform: translate3d(0, -3000px, 0) scaleY(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
        transform: translate3d(0, 25px, 0) scaleY(0.9);
    }

    75% {
        -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
        transform: translate3d(0, -10px, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
        transform: translate3d(0, 5px, 0) scaleY(0.985);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.bounceInDown {
    -webkit-animation-name: bounceInDown;
    animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
        transform: translate3d(-3000px, 0, 0) scaleX(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
        transform: translate3d(25px, 0, 0) scaleX(1);
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
        transform: translate3d(-10px, 0, 0) scaleX(0.98);
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
        transform: translate3d(5px, 0, 0) scaleX(0.995);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInLeft {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
        transform: translate3d(-3000px, 0, 0) scaleX(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
        transform: translate3d(25px, 0, 0) scaleX(1);
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
        transform: translate3d(-10px, 0, 0) scaleX(0.98);
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
        transform: translate3d(5px, 0, 0) scaleX(0.995);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.bounceInLeft {
    -webkit-animation-name: bounceInLeft;
    animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
        transform: translate3d(3000px, 0, 0) scaleX(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
        transform: translate3d(-25px, 0, 0) scaleX(1);
    }

    75% {
        -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
        transform: translate3d(10px, 0, 0) scaleX(0.98);
    }

    90% {
        -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
        transform: translate3d(-5px, 0, 0) scaleX(0.995);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInRight {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
        transform: translate3d(3000px, 0, 0) scaleX(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
        transform: translate3d(-25px, 0, 0) scaleX(1);
    }

    75% {
        -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
        transform: translate3d(10px, 0, 0) scaleX(0.98);
    }

    90% {
        -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
        transform: translate3d(-5px, 0, 0) scaleX(0.995);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.bounceInRight {
    -webkit-animation-name: bounceInRight;
    animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
        transform: translate3d(0, 3000px, 0) scaleY(5);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }

    75% {
        -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
        transform: translate3d(0, 10px, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
        transform: translate3d(0, -5px, 0) scaleY(0.985);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInUp {
    from,
    60%,
    75%,
    90%,
    to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
        transform: translate3d(0, 3000px, 0) scaleY(5);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }

    75% {
        -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
        transform: translate3d(0, 10px, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
        transform: translate3d(0, -5px, 0) scaleY(0.985);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.bounceInUp {
    -webkit-animation-name: bounceInUp;
    animation-name: bounceInUp;
}

/* Bouncing exits  */
@-webkit-keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    50%,
    55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
}

@keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    50%,
    55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
}

.bounceOut {
    -webkit-animation-duration: calc(1s * 0.75);
    animation-duration: calc(1s * 0.75);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
    animation-duration: calc(var(--animate-duration) * 0.75);
    -webkit-animation-name: bounceOut;
    animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
        transform: translate3d(0, 10px, 0) scaleY(0.985);
    }

    40%,
    45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
        transform: translate3d(0, 2000px, 0) scaleY(3);
    }
}

@keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
        transform: translate3d(0, 10px, 0) scaleY(0.985);
    }

    40%,
    45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
        transform: translate3d(0, 2000px, 0) scaleY(3);
    }
}

.bounceOutDown {
    -webkit-animation-name: bounceOutDown;
    animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
        transform: translate3d(20px, 0, 0) scaleX(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
        transform: translate3d(-2000px, 0, 0) scaleX(2);
    }
}

@keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
        transform: translate3d(20px, 0, 0) scaleX(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
        transform: translate3d(-2000px, 0, 0) scaleX(2);
    }
}

.bounceOutLeft {
    -webkit-animation-name: bounceOutLeft;
    animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
        transform: translate3d(-20px, 0, 0) scaleX(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
        transform: translate3d(2000px, 0, 0) scaleX(2);
    }
}

@keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
        transform: translate3d(-20px, 0, 0) scaleX(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
        transform: translate3d(2000px, 0, 0) scaleX(2);
    }
}

.bounceOutRight {
    -webkit-animation-name: bounceOutRight;
    animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
        transform: translate3d(0, -10px, 0) scaleY(0.985);
    }

    40%,
    45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
        transform: translate3d(0, 20px, 0) scaleY(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
        transform: translate3d(0, -2000px, 0) scaleY(3);
    }
}

@keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
        transform: translate3d(0, -10px, 0) scaleY(0.985);
    }

    40%,
    45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
        transform: translate3d(0, 20px, 0) scaleY(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
        transform: translate3d(0, -2000px, 0) scaleY(3);
    }
}

.bounceOutUp {
    -webkit-animation-name: bounceOutUp;
    animation-name: bounceOutUp;
}

/* Fading entrances  */
@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInDownBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInDownBig {
    -webkit-animation-name: fadeInDownBig;
    animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeftBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInLeftBig {
    -webkit-animation-name: fadeInLeftBig;
    animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInRightBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInRightBig {
    -webkit-animation-name: fadeInRightBig;
    animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUpBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInUpBig {
    -webkit-animation-name: fadeInUpBig;
    animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeInTopLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, -100%, 0);
        transform: translate3d(-100%, -100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInTopLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, -100%, 0);
        transform: translate3d(-100%, -100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInTopLeft {
    -webkit-animation-name: fadeInTopLeft;
    animation-name: fadeInTopLeft;
}

@-webkit-keyframes fadeInTopRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, -100%, 0);
        transform: translate3d(100%, -100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInTopRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, -100%, 0);
        transform: translate3d(100%, -100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInTopRight {
    -webkit-animation-name: fadeInTopRight;
    animation-name: fadeInTopRight;
}

@-webkit-keyframes fadeInBottomLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 100%, 0);
        transform: translate3d(-100%, 100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInBottomLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 100%, 0);
        transform: translate3d(-100%, 100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInBottomLeft {
    -webkit-animation-name: fadeInBottomLeft;
    animation-name: fadeInBottomLeft;
}

@-webkit-keyframes fadeInBottomRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 100%, 0);
        transform: translate3d(100%, 100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInBottomRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 100%, 0);
        transform: translate3d(100%, 100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.fadeInBottomRight {
    -webkit-animation-name: fadeInBottomRight;
    animation-name: fadeInBottomRight;
}

/* Fading exits */
@-webkit-keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

@keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

.fadeOutDownBig {
    -webkit-animation-name: fadeOutDownBig;
    animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

.fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

@keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

.fadeOutLeftBig {
    -webkit-animation-name: fadeOutLeftBig;
    animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

.fadeOutRight {
    -webkit-animation-name: fadeOutRight;
    animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

@keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

.fadeOutRightBig {
    -webkit-animation-name: fadeOutRightBig;
    animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

.fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

@keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

.fadeOutUpBig {
    -webkit-animation-name: fadeOutUpBig;
    animation-name: fadeOutUpBig;
}

@-webkit-keyframes fadeOutTopLeft {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, -100%, 0);
        transform: translate3d(-100%, -100%, 0);
    }
}

@keyframes fadeOutTopLeft {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, -100%, 0);
        transform: translate3d(-100%, -100%, 0);
    }
}

.fadeOutTopLeft {
    -webkit-animation-name: fadeOutTopLeft;
    animation-name: fadeOutTopLeft;
}

@-webkit-keyframes fadeOutTopRight {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, -100%, 0);
        transform: translate3d(100%, -100%, 0);
    }
}

@keyframes fadeOutTopRight {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, -100%, 0);
        transform: translate3d(100%, -100%, 0);
    }
}

.fadeOutTopRight {
    -webkit-animation-name: fadeOutTopRight;
    animation-name: fadeOutTopRight;
}

@-webkit-keyframes fadeOutBottomRight {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 100%, 0);
        transform: translate3d(100%, 100%, 0);
    }
}

@keyframes fadeOutBottomRight {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 100%, 0);
        transform: translate3d(100%, 100%, 0);
    }
}

.fadeOutBottomRight {
    -webkit-animation-name: fadeOutBottomRight;
    animation-name: fadeOutBottomRight;
}

@-webkit-keyframes fadeOutBottomLeft {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 100%, 0);
        transform: translate3d(-100%, 100%, 0);
    }
}

@keyframes fadeOutBottomLeft {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 100%, 0);
        transform: translate3d(-100%, 100%, 0);
    }
}

.fadeOutBottomLeft {
    -webkit-animation-name: fadeOutBottomLeft;
    animation-name: fadeOutBottomLeft;
}

/* Flippers */
@-webkit-keyframes flip {
    from {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

@keyframes flip {
    from {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

.animated.flip {
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    -webkit-animation-name: flip;
    animation-name: flip;
}

@-webkit-keyframes flipInX {
    from {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

@keyframes flipInX {
    from {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

.flipInX {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInX;
    animation-name: flipInX;
}

@-webkit-keyframes flipInY {
    from {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

@keyframes flipInY {
    from {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

.flipInY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInY;
    animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        opacity: 0;
    }
}

@keyframes flipOutX {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        opacity: 0;
    }
}

.flipOutX {
    -webkit-animation-duration: calc(1s * 0.75);
    animation-duration: calc(1s * 0.75);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
    animation-duration: calc(var(--animate-duration) * 0.75);
    -webkit-animation-name: flipOutX;
    animation-name: flipOutX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        opacity: 0;
    }
}

@keyframes flipOutY {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        opacity: 0;
    }
}

.flipOutY {
    -webkit-animation-duration: calc(1s * 0.75);
    animation-duration: calc(1s * 0.75);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
    animation-duration: calc(var(--animate-duration) * 0.75);
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipOutY;
    animation-name: flipOutY;
}

/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes lightSpeedInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.lightSpeedInRight {
    -webkit-animation-name: lightSpeedInRight;
    animation-name: lightSpeedInRight;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
        transform: translate3d(-100%, 0, 0) skewX(30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(-20deg);
        transform: skewX(-20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(5deg);
        transform: skewX(5deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes lightSpeedInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
        transform: translate3d(-100%, 0, 0) skewX(30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(-20deg);
        transform: skewX(-20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(5deg);
        transform: skewX(5deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.lightSpeedInLeft {
    -webkit-animation-name: lightSpeedInLeft;
    animation-name: lightSpeedInLeft;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOutRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0;
    }
}

@keyframes lightSpeedOutRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0;
    }
}

.lightSpeedOutRight {
    -webkit-animation-name: lightSpeedOutRight;
    animation-name: lightSpeedOutRight;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
}

@-webkit-keyframes lightSpeedOutLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
        transform: translate3d(-100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }
}

@keyframes lightSpeedOutLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
        transform: translate3d(-100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }
}

.lightSpeedOutLeft {
    -webkit-animation-name: lightSpeedOutLeft;
    animation-name: lightSpeedOutLeft;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
}

/* Rotating entrances */
@-webkit-keyframes rotateIn {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -200deg);
        transform: rotate3d(0, 0, 1, -200deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateIn {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -200deg);
        transform: rotate3d(0, 0, 1, -200deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateIn {
    -webkit-animation-name: rotateIn;
    animation-name: rotateIn;
    -webkit-transform-origin: center;
    transform-origin: center;
}

@-webkit-keyframes rotateInDownLeft {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInDownLeft {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateInDownLeft {
    -webkit-animation-name: rotateInDownLeft;
    animation-name: rotateInDownLeft;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

@-webkit-keyframes rotateInDownRight {
    from {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInDownRight {
    from {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateInDownRight {
    -webkit-animation-name: rotateInDownRight;
    animation-name: rotateInDownRight;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
}

@-webkit-keyframes rotateInUpLeft {
    from {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInUpLeft {
    from {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateInUpLeft {
    -webkit-animation-name: rotateInUpLeft;
    animation-name: rotateInUpLeft;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

@-webkit-keyframes rotateInUpRight {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -90deg);
        transform: rotate3d(0, 0, 1, -90deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInUpRight {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -90deg);
        transform: rotate3d(0, 0, 1, -90deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.rotateInUpRight {
    -webkit-animation-name: rotateInUpRight;
    animation-name: rotateInUpRight;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
}

/* Rotating exits */
@-webkit-keyframes rotateOut {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 200deg);
        transform: rotate3d(0, 0, 1, 200deg);
        opacity: 0;
    }
}

@keyframes rotateOut {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 200deg);
        transform: rotate3d(0, 0, 1, 200deg);
        opacity: 0;
    }
}

.rotateOut {
    -webkit-animation-name: rotateOut;
    animation-name: rotateOut;
    -webkit-transform-origin: center;
    transform-origin: center;
}

@-webkit-keyframes rotateOutDownLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }
}

.rotateOutDownLeft {
    -webkit-animation-name: rotateOutDownLeft;
    animation-name: rotateOutDownLeft;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

@-webkit-keyframes rotateOutDownRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

.rotateOutDownRight {
    -webkit-animation-name: rotateOutDownRight;
    animation-name: rotateOutDownRight;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
}

@-webkit-keyframes rotateOutUpLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

.rotateOutUpLeft {
    -webkit-animation-name: rotateOutUpLeft;
    animation-name: rotateOutUpLeft;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

@-webkit-keyframes rotateOutUpRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
        opacity: 0;
    }
}

.rotateOutUpRight {
    -webkit-animation-name: rotateOutUpRight;
    animation-name: rotateOutUpRight;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
}

/* Specials */
@-webkit-keyframes hinge {
    0% {
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%,
    60% {
        -webkit-transform: rotate3d(0, 0, 1, 80deg);
        transform: rotate3d(0, 0, 1, 80deg);
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%,
    80% {
        -webkit-transform: rotate3d(0, 0, 1, 60deg);
        transform: rotate3d(0, 0, 1, 60deg);
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0;
    }
}

@keyframes hinge {
    0% {
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%,
    60% {
        -webkit-transform: rotate3d(0, 0, 1, 80deg);
        transform: rotate3d(0, 0, 1, 80deg);
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%,
    80% {
        -webkit-transform: rotate3d(0, 0, 1, 60deg);
        transform: rotate3d(0, 0, 1, 60deg);
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0;
    }
}

.hinge {
    -webkit-animation-duration: calc(1s * 2);
    animation-duration: calc(1s * 2);
    -webkit-animation-duration: calc(var(--animate-duration) * 2);
    animation-duration: calc(var(--animate-duration) * 2);
    -webkit-animation-name: hinge;
    animation-name: hinge;
    -webkit-transform-origin: top left;
    transform-origin: top left;
}

@-webkit-keyframes jackInTheBox {
    from {
        opacity: 0;
        -webkit-transform: scale(0.1) rotate(30deg);
        transform: scale(0.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg);
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes jackInTheBox {
    from {
        opacity: 0;
        -webkit-transform: scale(0.1) rotate(30deg);
        transform: scale(0.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg);
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.jackInTheBox {
    -webkit-animation-name: jackInTheBox;
    animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes rollIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.rollIn {
    -webkit-animation-name: rollIn;
    animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
}

@keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
}

.rollOut {
    -webkit-animation-name: rollOut;
    animation-name: rollOut;
}

/* Zooming entrances */
@-webkit-keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

.zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInDown {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInDown {
    -webkit-animation-name: zoomInDown;
    animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInLeft {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInLeft {
    -webkit-animation-name: zoomInLeft;
    animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInRight {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInRight {
    -webkit-animation-name: zoomInRight;
    animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInUp {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomInUp {
    -webkit-animation-name: zoomInUp;
    animation-name: zoomInUp;
}

/* Zooming exits */
@-webkit-keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    to {
        opacity: 0;
    }
}

@keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    to {
        opacity: 0;
    }
}

.zoomOut {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomOutDown {
    -webkit-animation-name: zoomOutDown;
    animation-name: zoomOutDown;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

@-webkit-keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform: scale(0.1) translate3d(-2000px, 0, 0);
    }
}

@keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform: scale(0.1) translate3d(-2000px, 0, 0);
    }
}

.zoomOutLeft {
    -webkit-animation-name: zoomOutLeft;
    animation-name: zoomOutLeft;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

@-webkit-keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
        transform: scale(0.1) translate3d(2000px, 0, 0);
    }
}

@keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
        transform: scale(0.1) translate3d(2000px, 0, 0);
    }
}

.zoomOutRight {
    -webkit-animation-name: zoomOutRight;
    animation-name: zoomOutRight;
    -webkit-transform-origin: right center;
    transform-origin: right center;
}

@-webkit-keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.zoomOutUp {
    -webkit-animation-name: zoomOutUp;
    animation-name: zoomOutUp;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

/* Sliding entrances */
@-webkit-keyframes slideInDown {
    from {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInDown {
    from {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInDown {
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInRight {
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.slideInUp {
    -webkit-animation-name: slideInUp;
    animation-name: slideInUp;
}

/* Sliding exits */
@-webkit-keyframes slideOutDown {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes slideOutDown {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.slideOutDown {
    -webkit-animation-name: slideOutDown;
    animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes slideOutLeft {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

.slideOutLeft {
    -webkit-animation-name: slideOutLeft;
    animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes slideOutRight {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

.slideOutRight {
    -webkit-animation-name: slideOutRight;
    animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes slideOutUp {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

.slideOutUp {
    -webkit-animation-name: slideOutUp;
    animation-name: slideOutUp;
}

.el-popover {
    width: 250px;
}


.el-popover {
    width: 250px;
}


.el-popover {
    width: 250px;
}


.el-popover {
    width: 250px;
}


.el-popover {
    width: 250px;
}


.el-popover {
    width: 250px;
}


.cellAdimg[data-v-47fa724e] {
    width: 200px;
    height: 120px;
    object-fit: fill;
    object-fit: contain;
    object-fit: scale-down;
}


















































































































































































































































































































































































/* ============ 顶层容器 ============ */
.sys-config-center[data-v-3ff1f0fc] {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--theme-bg-page);
  color: var(--theme-text-primary);
}

/* ============ 页头 ============ */
.page-header[data-v-3ff1f0fc] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background: var(--theme-bg-color);
  border-bottom: 1px solid var(--theme-border-lighter);
  flex-shrink: 0;
}
.header-title[data-v-3ff1f0fc] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header-title > i[data-v-3ff1f0fc] {
  font-size: 22px;
  color: var(--theme-color-primary);
}
.title-text[data-v-3ff1f0fc] {
  font-size: 18px;
  font-weight: 600;
  color: var(--theme-text-primary);
}
.title-tag[data-v-3ff1f0fc] { margin-left: 4px;
}
.header-actions[data-v-3ff1f0fc] {
  display: flex;
  align-items: center;
  gap: 10px;
}
.search-box[data-v-3ff1f0fc] { width: 260px;
}

/* ============ 正文双栏 ============ */
.page-body[data-v-3ff1f0fc] {
  flex: 1;
  display: flex;
  overflow: hidden;
}

/* ===== 左侧导航 ===== */
.side-nav[data-v-3ff1f0fc] {
  width: 200px;
  background: var(--theme-bg-color);
  border-right: 1px solid var(--theme-border-lighter);
  padding: 12px 0;
  overflow-y: auto;
  flex-shrink: 0;
}
.nav-item[data-v-3ff1f0fc] {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  cursor: pointer;
  color: var(--theme-text-regular);
  transition: background 0.15s, color 0.15s;
  border-left: 3px solid transparent;
}
.nav-item[data-v-3ff1f0fc]:hover {
  background: var(--theme-bg-page);
  color: var(--theme-text-primary);
}
.nav-item.active[data-v-3ff1f0fc] {
  background: var(--theme-bg-page);
  color: var(--theme-color-primary);
  border-left-color: var(--theme-color-primary);
}
.nav-icon[data-v-3ff1f0fc] { font-size: 16px;
}
.nav-label[data-v-3ff1f0fc] { flex: 1; font-size: 14px;
}
.nav-count[data-v-3ff1f0fc] {
  font-size: 12px;
  color: var(--theme-text-secondary);
  background: var(--theme-bg-page);
  padding: 1px 8px;
  border-radius: 10px;
}
.nav-item.active .nav-count[data-v-3ff1f0fc] {
  background: var(--theme-color-primary);
  color: #fff;
}

/* ===== 右侧主体 ===== */
.main-pane[data-v-3ff1f0fc] {
  flex: 1;
  overflow-y: auto;
  padding: 20px 28px;
}
.pane-header[data-v-3ff1f0fc] { margin-bottom: 20px;
}
.pane-title[data-v-3ff1f0fc] {
  margin: 0 0 8px 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--theme-text-primary);
  display: flex;
  align-items: center;
  gap: 16px;
}
.module-visibility[data-v-3ff1f0fc] {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  padding: 4px 10px;
  border: 1px dashed var(--theme-border-lighter);
  border-radius: 16px;
  background: var(--theme-bg-color);
}
.module-visibility .vis-label[data-v-3ff1f0fc] {
  font-size: 12px;
  font-weight: 500;
  color: var(--theme-text-secondary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.module-visibility .vis-label i[data-v-3ff1f0fc] { font-size: 13px;
}
.pane-hint[data-v-3ff1f0fc] {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--theme-text-secondary);
  padding: 8px 12px;
  background: var(--theme-bg-color);
  border: 1px solid var(--theme-border-lighter);
  border-radius: 4px;
}
.pane-hint b[data-v-3ff1f0fc] { color: var(--theme-color-success);
}

/* ===== 单条配置卡片 ===== */
.config-list[data-v-3ff1f0fc] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.config-item[data-v-3ff1f0fc] {
  display: flex;
  align-items: stretch;
  gap: 24px;
  padding: 18px 20px;
  background: var(--theme-bg-color);
  border: 1px solid var(--theme-border-lighter);
  border-radius: 6px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.config-item[data-v-3ff1f0fc]:hover {
  border-color: var(--theme-border-color);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* 卡片左侧：说明 */
.item-left[data-v-3ff1f0fc] {
  flex: 1;
  min-width: 0;          /* 关键：允许内部 truncate */
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.item-title[data-v-3ff1f0fc] {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.item-display-name[data-v-3ff1f0fc] {
  font-size: 15px;
  font-weight: 600;
  color: var(--theme-text-primary);
}
.item-type-tag[data-v-3ff1f0fc] { font-family: Consolas, monospace;
}
.item-realtime-tag[data-v-3ff1f0fc] { color: var(--theme-text-secondary);
}
.item-key[data-v-3ff1f0fc] {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}
.item-key code[data-v-3ff1f0fc] {
  font-family: Consolas, monospace;
  color: var(--theme-text-secondary);
  background: var(--theme-bg-page);
  padding: 2px 6px;
  border-radius: 3px;
}
.item-version[data-v-3ff1f0fc] {
  color: var(--theme-text-placeholder);
  font-family: Consolas, monospace;
}
.item-desc[data-v-3ff1f0fc] {
  font-size: 13px;
  color: var(--theme-text-regular);
  line-height: 1.6;
  word-break: break-word;
}
.item-meta[data-v-3ff1f0fc] {
  display: flex;
  gap: 18px;
  margin-top: 4px;
  font-size: 12px;
  flex-wrap: wrap;
}
.meta-block[data-v-3ff1f0fc] { display: flex; align-items: center; gap: 4px;
}
.meta-label[data-v-3ff1f0fc] { color: var(--theme-text-placeholder);
}
.meta-value[data-v-3ff1f0fc] {
  font-family: Consolas, monospace;
  color: var(--theme-text-secondary);
  background: var(--theme-bg-page);
  padding: 1px 6px;
  border-radius: 3px;
}
.meta-value.rule[data-v-3ff1f0fc] { color: var(--theme-color-warning);
}

/* 卡片右侧：控件 + 操作 */
.item-right[data-v-3ff1f0fc] {
  width: 340px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}
.item-control[data-v-3ff1f0fc] { width: 100%;
}
.control-number[data-v-3ff1f0fc] { width: 100%;
}
.control-select[data-v-3ff1f0fc] { width: 100%;
}
.control-input[data-v-3ff1f0fc] { width: 100%;
}
.control-textarea[data-v-3ff1f0fc] { width: 100%;
}
.item-actions[data-v-3ff1f0fc] {
  display: flex;
  gap: 8px;
}

/* ===== element-ui 控件主题 fallback ===== */
.sys-config-center[data-v-3ff1f0fc] .el-input__inner,
.sys-config-center[data-v-3ff1f0fc] .el-textarea__inner,
.sys-config-center[data-v-3ff1f0fc] .el-input-number .el-input__inner {
  background-color: var(--theme-bg-overlay);
  color: var(--theme-text-primary);
  border-color: var(--theme-border-color);
}


.my-wallet[data-v-a6d0f120] { display: flex; flex-direction: column; height: 100%; background: var(--theme-bg-page); color: var(--theme-text-primary);
}
.page-header[data-v-a6d0f120] {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 24px; background: var(--theme-bg-color);
  border-bottom: 1px solid var(--theme-border-lighter); flex-shrink: 0;
}
.header-title[data-v-a6d0f120] { display: flex; align-items: center; gap: 10px;
}
.header-title > i[data-v-a6d0f120] { font-size: 22px; color: var(--theme-color-primary);
}
.title-text[data-v-a6d0f120] { font-size: 18px; font-weight: 600;
}
.header-actions[data-v-a6d0f120] { display: flex; gap: 10px;
}
.page-body[data-v-a6d0f120] { flex: 1; overflow-y: auto; padding: 20px 28px;
}

/* V4.1.1 reflective v2：单条横向滚动余额条，给历史 tabs 让位 */
.balance-bar[data-v-a6d0f120] {
  background: var(--theme-bg-color); border: 1px solid var(--theme-border-lighter);
  border-radius: 10px; padding: 14px 18px; margin-bottom: 18px;
}
.bb-header[data-v-a6d0f120] { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;
}
.bb-title[data-v-a6d0f120] { display:flex; align-items:center; gap:8px; font-weight:600; font-size:15px; color:var(--theme-text-primary);
}
.bb-title i[data-v-a6d0f120] { color:var(--theme-color-primary); font-size:18px;
}
.bb-actions[data-v-a6d0f120] { display:flex; gap:8px;
}
.bb-scroll[data-v-a6d0f120] {
  display:flex; gap:12px; overflow-x:auto; padding:4px 2px 8px;
  scrollbar-width: thin;
}
.bb-scroll[data-v-a6d0f120]::-webkit-scrollbar { height:6px;
}
.bb-scroll[data-v-a6d0f120]::-webkit-scrollbar-thumb { background:rgba(255,107,53,0.3); border-radius:3px;
}
.bb-scroll[data-v-a6d0f120]::-webkit-scrollbar-track { background:transparent;
}
.bb-cell[data-v-a6d0f120] {
  flex: 0 0 auto; min-width:140px;
  padding:12px 16px; border-radius:8px;
  background: linear-gradient(135deg, #fff5f0 0%, #fff 80%);
  border:1px solid rgba(255,107,53,0.15);
  transition: all .15s;
}
.bb-cell[data-v-a6d0f120]:hover {
  border-color: var(--theme-color-primary);
  box-shadow: 0 4px 12px rgba(255,107,53,0.15);
  transform: translateY(-1px);
}
.bb-cell-head[data-v-a6d0f120] { display:flex; align-items:center; gap:6px; margin-bottom:6px;
}
.bb-icon[data-v-a6d0f120] { width:22px; height:22px; border-radius:11px; object-fit:cover; flex-shrink:0;
}
.bb-icon-default[data-v-a6d0f120] { font-size:20px; color:var(--theme-color-primary);
}
.bb-name[data-v-a6d0f120] { font-size:13px; font-weight:600; color:var(--theme-text-secondary);
}
.bb-balance[data-v-a6d0f120] {
  font-family:Consolas, monospace; font-size:18px; font-weight:700;
  color:var(--theme-text-primary); line-height:1.2;
}
.bb-frozen[data-v-a6d0f120] { font-size:11px; color:#e6a23c; margin-top:3px; font-family:Consolas, monospace;
}
[data-theme="dark"] .bb-cell[data-v-a6d0f120] {
  background: linear-gradient(135deg, #2a1f15 0%, #1d1e1f 80%);
  border-color: rgba(255,140,53,0.20);
}
.empty-card[data-v-a6d0f120] {
  width: 100%;
  background: var(--theme-bg-color);
  border: 1px dashed var(--theme-border-color);
  border-radius: 12px; padding: 40px 24px; text-align: center;
}
.empty-card .empty-icon[data-v-a6d0f120] { font-size: 56px; color: var(--theme-text-placeholder); display: block; margin-bottom: 12px;
}
.empty-card .empty-title[data-v-a6d0f120] { font-size: 15px; color: var(--theme-text-primary); margin-bottom: 6px;
}
.empty-card .empty-sub[data-v-a6d0f120] { font-size: 12px; color: var(--theme-text-secondary);
}

/* tabs */
.tab-section[data-v-a6d0f120] { background: var(--theme-bg-color); border: 1px solid var(--theme-border-lighter); border-radius: 6px; padding: 0 20px 20px;
}
.tab-section[data-v-a6d0f120] .el-tabs__header { margin-bottom: 12px;
}
.amt-in[data-v-a6d0f120]  { color: #67c23a; font-weight: 600; font-family: Consolas, monospace;
}
.amt-out[data-v-a6d0f120] { color: #e6a23c; font-weight: 600; font-family: Consolas, monospace;
}
.addr-cell[data-v-a6d0f120] { font-family: Consolas, monospace; font-size: 12px;
}

/* 充值弹窗 */
.recharge-pane .step[data-v-a6d0f120] { margin-bottom: 24px;
}
.recharge-pane .step-title[data-v-a6d0f120] { font-weight: 600; margin-bottom: 12px; color: var(--theme-text-primary);
}
.chip-row[data-v-a6d0f120] { display: flex; flex-wrap: wrap; gap: 10px;
}
.chip[data-v-a6d0f120] { cursor: pointer; padding: 8px 16px; display: inline-flex; align-items: center; gap: 6px;
}
.chip-icon[data-v-a6d0f120] { width: 18px; height: 18px;
}
.qr-pane[data-v-a6d0f120] { display: flex; gap: 20px; padding: 16px; background: var(--theme-bg-page); border-radius: 8px;
}
.qr-img[data-v-a6d0f120] { flex-shrink: 0;
}
.qr-image[data-v-a6d0f120] { width: 180px; height: 180px; border-radius: 6px; background: #fff;
}
.qr-empty[data-v-a6d0f120] { width: 180px; height: 180px; background: #fff; display: flex; align-items: center; justify-content: center; color: #c0c4cc; border-radius: 6px;
}
.qr-info[data-v-a6d0f120] { flex: 1; display: flex; flex-direction: column; gap: 8px;
}
.qr-label[data-v-a6d0f120] { font-size: 12px; color: var(--theme-text-secondary);
}
.qr-addr[data-v-a6d0f120] { font-family: Consolas, monospace; padding: 8px 10px; background: var(--theme-bg-color); border-radius: 4px; word-break: break-all; font-size: 13px;
}
.qr-tip[data-v-a6d0f120] { font-size: 12px; color: var(--theme-text-secondary); line-height: 1.6; margin-top: 4px;
}
.amount-suffix[data-v-a6d0f120] { margin-left: 12px; color: var(--theme-text-secondary); font-size: 13px;
}
.withdraw-tip[data-v-a6d0f120] { margin-top: 8px;
}


.qr-container[data-v-0e73ca22] {
	display: inline-block;
	position: relative;
}





























































/* 头像容器 */
.avatar-container[data-v-6704e3e2] {
	display: inline-block;
	overflow: hidden;
	text-align: center;
	position: relative;
}

/* 头像图片和默认内容 */
.avatar-img[data-v-6704e3e2],
.default-avatar[data-v-6704e3e2] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s linear;
}

/* 圆形头像 */
.circle[data-v-6704e3e2] {
	border-radius: 50%;
}

/* 方形头像 */
.square[data-v-6704e3e2] {
	border-radius: 0;
}

/* 长方形头像（2:1） */
.rectangle[data-v-6704e3e2] {
	position: relative;
	width: 100%;
	border-radius: 3px;
	//padding-top: 50%; /* 2:1 长宽比 */
}

/* 尺寸样式 */
.mini-size[data-v-6704e3e2] {
	min-width: 20px;
	width: 20px;
	height: 20px;
}
.small-size[data-v-6704e3e2] {
	min-width: 30px;
	width: 30px;
	height: 30px;
}
.medium-size[data-v-6704e3e2] {
	min-width: 40px;
	width: 40px;
	height: 40px;
}
.big-size[data-v-6704e3e2] {
	min-width: 50px;
	width: 50px;
	height: 50px;
}

/* 为长方形头像覆盖尺寸样式 */
.mini-size.rectangle[data-v-6704e3e2] {
	min-width: 40px; /* 2:1 比例宽度 */
	height: 20px;
}
.small-size.rectangle[data-v-6704e3e2] {
	min-width: 60px;
	height: 30px;
}
.medium-size.rectangle[data-v-6704e3e2] {
	min-width: 80px;
	height: 40px;
}
.big-size.rectangle[data-v-6704e3e2] {
	min-width: 100px;
	height: 50px;
}

/* 阴影效果 */
.shadow[data-v-6704e3e2] {
	box-shadow: 0 0 5px 1px #4d83e770;
}

/* 悬停动画 - 仅圆形头像生效 */
@keyframes rotate360-data-v-6704e3e2 {
from {
		transform: rotate(0deg);
}
to {
		transform: rotate(360deg);
}
}
@keyframes rotateBackwards-data-v-6704e3e2 {
from {
		transform: rotate(360deg);
}
to {
		transform: rotate(0deg);
}
}

/* 圆形头像悬停旋转 */
.avatar-container.circle:hover .avatar-img[data-v-6704e3e2],
.avatar-container.circle:hover .default-avatar[data-v-6704e3e2] {
	animation: rotate360-data-v-6704e3e2 0.4s linear forwards;
}

/* 圆形头像鼠标移出反向旋转 */
.avatar-container.circle .avatar-img[data-v-6704e3e2],
.avatar-container.circle .default-avatar[data-v-6704e3e2] {
	transition: transform 0.4s linear;
}
.avatar-container.circle:not(:hover) .avatar-img[data-v-6704e3e2],
.avatar-container.circle:not(:hover) .default-avatar[data-v-6704e3e2] {
	animation: rotateBackwards-data-v-6704e3e2 0.4s linear forwards;
}


.cellAdimg[data-v-01e7bc48] {
	width: 200px;
	height: 120px;
	object-fit: fill;
	object-fit: contain;
	object-fit: scale-down;
}


.releaseBtn[data-v-53b90d45] {
    margin-left: 70px;
    margin-top: 10px;
}
.el-form-item[data-v-53b90d45] {
    margin-bottom: 1px;
}
.searchMovie[data-v-53b90d45] {
    margin-left: 10px;
    width: 80%;
    display: flex;
    align-items: center;
    padding: 20px;
}
.input-with-select[data-v-53b90d45] {
    width: 80%;
    margin-top: -20px;
}
.movieMsg[data-v-53b90d45] {
    margin: 30px;
    border-right: 2px solid #A7A7A7;
    width: 60%;
}
.overMsg[data-v-53b90d45] {

    margin-top: 30px;
    margin-left: 30px;
    width: 25%;
}
.overImg[data-v-53b90d45] {
    width: 100%;
    height: 100px;
    display: block;
}

/* .el-upload */
.movieOverImg-uploader[data-v-53b90d45] {
    width: 40%;
    background-color: #87ABD3;
    height: 120px;
    margin-left: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
}
.movieOverImg-uploader img[data-v-53b90d45] {
    width: 100%;
    height: 120px;
    margin-top: 15px;
}
.overImg-uploader[data-v-53b90d45] {
    width: 90%;
    background-color: #87ABD3;
    height: 120px;
    margin-left: 5%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
}
.overImg-uploader img[data-v-53b90d45] {
    width: 100%;
    height: 130px;
    margin-top: 10px;
}
.movieOverImg-uploader .el-icon-upload[data-v-53b90d45] {
    font-size: 28px;
    color: #FFFFFF;
    margin-top: 40%;
}
.overImg-uploader .el-upload[data-v-53b90d45]:hover {
    border-color: #409EFF;
}
.overImg-uploader .el-icon-upload[data-v-53b90d45] {
    font-size: 28px;
    color: #FFFFFF;
    margin-top: 13%;
}

/* 	.upMovie
	{
		background-color: #007AFF;
		height: 2000px;
	} */


.vue-longtext-container[data-v-2f83d44f] {
	display: flex;
	flex-direction: column;
}
.text-content[data-v-2f83d44f] {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	//word-break: break-word;
	white-space: pre-wrap;
	//text-indent: 0;
	padding: 10px;
	overflow-wrap: break-word; /* 允许长单词换行 */
	word-break: break-all; /* 强制换行 */
}
.text-content[data-v-2f83d44f]::before {
	content: "";
	display: block; /* 确保伪元素占据空间 */
	margin-bottom: -1em; /* 根据需要调整，以抵消首行缩进 */
	height: 0; /* 确保伪元素不增加实际高度 */
}
.text-content.expanded[data-v-2f83d44f] {
	display: block;
	overflow: visible;
}
.toggle-btn-container[data-v-2f83d44f] {
	display: flex;
	justify-content: flex-end;
	margin-top: 8px;
}
.toggle-btn[data-v-2f83d44f] {
	background: none;
	border: none;
	color: #409dfd;
	font-size: 14px;
	cursor: pointer;
	transition: color 0.3s;
	padding: 4px 12px;
}
.toggle-btn[data-v-2f83d44f]:hover {
	color: #409dfd;
}
































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































/* V4.2.0: 统一容器卡片化样式，与远程主机管理一致 */
.model-mgr[data-v-502d2f49] {
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:20px;
  background:var(--theme-bg-page);
  color:var(--theme-text-primary);
}
.page-header[data-v-502d2f49] {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 20px;
  background:var(--theme-bg-color);
  border-radius:12px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
  margin-bottom:20px;
  flex-shrink:0;
}
.header-title[data-v-502d2f49] { display:flex; align-items:center; gap:10px;
}
.header-title > i[data-v-502d2f49] { font-size:22px; color:var(--theme-color-primary);
}
.title-text[data-v-502d2f49] { font-size:18px; font-weight:600;
}
.header-actions[data-v-502d2f49] { display:flex; align-items:center; gap:10px;
}
.search-box[data-v-502d2f49] { width:200px;
}
.status-select[data-v-502d2f49] { width:160px;
}
.page-body[data-v-502d2f49] {
  flex:1;
  padding:20px;
  background:var(--theme-bg-color);
  border-radius:12px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
}
.model-pagination[data-v-502d2f49] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #ebeef5;
}
.model-pagination[data-v-502d2f49] .el-pagination { font-weight: 500;
}
.avatar-thumb[data-v-502d2f49] { width:36px; height:36px; border-radius:18px;
}
.avatar-thumb[data-v-502d2f49] .el-image__inner { object-fit: cover;
}
.avatar-placeholder[data-v-502d2f49] { width:36px; height:36px; border-radius:18px; background:var(--theme-bg-page); display:flex; align-items:center; justify-content:center; color:var(--theme-text-placeholder); font-size:16px;
}
.name-cell[data-v-502d2f49] { line-height:1.5;
}
.name-cell .name-zh[data-v-502d2f49] { font-weight:600; color:var(--theme-text-primary);
}
.name-cell .name-en[data-v-502d2f49] { font-size:12px; color:var(--theme-text-secondary); font-weight:normal; margin-left:6px;
}
.name-cell .name-meta[data-v-502d2f49] { font-size:12px; color:var(--theme-text-secondary); margin-top:3px;
                        display:flex; gap:8px; flex-wrap:wrap;
}
.name-cell .meta-marital[data-v-502d2f49] { color:#e6a23c;
}

/* V4.1.1 行内按钮 */
.row-btn[data-v-502d2f49] { margin:2px 3px; padding:5px 10px;
}
.row-btn + .row-btn[data-v-502d2f49] { margin-left:5px;
}
.dialog-title[data-v-502d2f49] { font-size:16px; font-weight:600;
}
.dialog-rand-btn[data-v-502d2f49] { margin-left:16px;
}
.model-form-toolbar[data-v-502d2f49] {
  display:flex; align-items:center; gap:10px;
  padding:8px 12px; margin-bottom:10px;
  background:#fdf6ec; border:1px dashed #f5dab1; border-radius:6px;
}
.dev-only-tip[data-v-502d2f49] { font-size:12px; color:#e6a23c;
}
.model-form[data-v-502d2f49] { max-height:65vh; overflow-y:auto; padding:8px 16px 0;
}
.model-form[data-v-502d2f49]  .el-form-item { margin-bottom: 16px;
}
.model-form-toolbar[data-v-502d2f49] { margin: 0 16px 10px;
}

/* 模特详情 — 重设计 */
.mdl-detail-wrap[data-v-502d2f49] { padding: 14px 18px 4px;
}
.mdl-hero[data-v-502d2f49] {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px; margin-bottom: 14px;
  background: linear-gradient(135deg, #fff5f7 0%, #fce8ed 100%);
  border: 1px solid rgba(245, 108, 108, 0.18);
  border-radius: 12px;
}
.mdl-hero-avatar[data-v-502d2f49] {
  width: 64px; height: 64px; border-radius: 50%;
  background: linear-gradient(135deg, #f78fb3, #f56c6c);
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: 28px; flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(245, 108, 108, 0.25);
  overflow: hidden;
}
.mdl-hero-avatar img[data-v-502d2f49] { width: 100%; height: 100%; object-fit: cover;
}
.mdl-hero-info[data-v-502d2f49] { flex: 1; min-width: 0;
}
.mdl-hero-name[data-v-502d2f49] {
  font-size: 20px; font-weight: 700; color: #303133;
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap;
}
.mdl-hero-en[data-v-502d2f49] { font-size: 14px; font-weight: 400; color: #909399;
}
.mdl-hero-meta[data-v-502d2f49] {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin-top: 8px;
}
.mdl-chip[data-v-502d2f49] {
  display: inline-flex; align-items: center;
  padding: 2px 10px; border-radius: 12px;
  font-size: 12px; color: #606266;
  background: rgba(255,255,255,0.75);
  border: 1px solid #e4e7ed;
}
.mdl-chip-gender[data-v-502d2f49] { color: #e6a23c; border-color: rgba(230,162,60,0.3);
}
.mdl-section[data-v-502d2f49] { margin-bottom: 16px;
}
.mdl-section-h[data-v-502d2f49] {
  display: flex; align-items: center; gap: 6px;
  font-size: 14px; font-weight: 600; color: #303133;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid #f0f0f0;
}
.mdl-section-h i[data-v-502d2f49] { color: #f56c6c; font-size: 16px;
}
.mdl-grid[data-v-502d2f49] {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
}
.mdl-item[data-v-502d2f49] {
  background: #fafbfc; border-radius: 6px;
  padding: 8px 12px;
}
.mdl-item-full[data-v-502d2f49] { grid-column: 1 / -1;
}
.mdl-k[data-v-502d2f49] { font-size: 12px; color: #909399; margin-bottom: 2px;
}
.mdl-v[data-v-502d2f49] { font-size: 13px; color: #303133; word-break: break-all;
}
.mdl-list[data-v-502d2f49] { display: flex; flex-direction: column; gap: 8px;
}
.mdl-li[data-v-502d2f49] {
  background: #fafbfc; border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px; color: #606266; line-height: 1.6;
}
.mdl-li b[data-v-502d2f49] { color: #303133; font-weight: 600; margin-right: 4px;
}
.mdl-bio[data-v-502d2f49] {
  background: linear-gradient(135deg, #fafbfc, #f5f7fa);
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 13px; color: #606266; line-height: 1.7;
}

/* 语言 chips */
.mdl-langs[data-v-502d2f49] { display: inline-flex; flex-wrap: wrap; gap: 4px;
}
.mdl-lang-chip[data-v-502d2f49] {
  display: inline-block; padding: 2px 8px; border-radius: 10px;
  font-size: 11px; color: #409eff;
  background: #ecf5ff;
  border: 1px solid rgba(64,158,255,0.2);
}
[data-theme="dark"] .mdl-lang-chip[data-v-502d2f49] { background: #1a2733; color: #79bbff; border-color: rgba(121,187,255,0.25);
}
[data-theme="dark"] .mdl-hero[data-v-502d2f49] {
  background: linear-gradient(135deg, #2a1f23 0%, #1d1e1f 100%);
  border-color: rgba(245, 108, 108, 0.25);
}
[data-theme="dark"] .mdl-hero-name[data-v-502d2f49] { color: #e0e0e0;
}
[data-theme="dark"] .mdl-section-h[data-v-502d2f49] { color: #e0e0e0; border-bottom-color: #333;
}
[data-theme="dark"] .mdl-item[data-v-502d2f49],
[data-theme="dark"] .mdl-li[data-v-502d2f49],
[data-theme="dark"] .mdl-bio[data-v-502d2f49] { background: #252628;
}
[data-theme="dark"] .mdl-v[data-v-502d2f49],
[data-theme="dark"] .mdl-li b[data-v-502d2f49] { color: #e0e0e0;
}
[data-theme="dark"] .mdl-chip[data-v-502d2f49] { background: rgba(255,255,255,0.05); border-color: #333; color: #cfd3dc;
}
.quick-chips[data-v-502d2f49] { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px;
}
.quick-chip[data-v-502d2f49] { cursor:pointer; transition: all .15s;
}
.quick-chip[data-v-502d2f49]:hover { transform: translateY(-1px);
}
.quick-input[data-v-502d2f49] {
}

/* 相册 */
.album-area[data-v-502d2f49] { display:flex; flex-direction:column; gap:10px;
}
.album-grid[data-v-502d2f49] { display:grid; grid-template-columns:repeat(auto-fill, minmax(100px, 1fr)); gap:8px;
}
.album-item[data-v-502d2f49] {
  position:relative; aspect-ratio:1/1; background:var(--theme-bg-page);
  border-radius:6px; overflow:hidden; border:2px solid transparent; transition:.15s;
}
/* 照片操作按钮缩小（匹配 110px 缩略图） */
.album-item .album-actions .el-button[data-v-502d2f49] {
  width: 22px !important; height: 22px !important; padding: 0 !important;
  min-width: 0 !important;
}
.album-item .album-actions .el-button + .el-button[data-v-502d2f49] { margin-left: 2px;
}
.album-item .album-actions .el-button i[data-v-502d2f49] { font-size: 11px;
}
.album-item .album-actions[data-v-502d2f49] { gap: 2px;
}
.album-item .album-badge[data-v-502d2f49] { font-size: 10px; padding: 1px 4px;
}
.album-item.is-primary[data-v-502d2f49] { border-color: var(--theme-color-warning);
}
.album-img[data-v-502d2f49] { width:100%; height:100%; display:block;
}
.album-overlay[data-v-502d2f49] {
  position:absolute; left:0; right:0; bottom:0; top:0;
  background:linear-gradient(180deg, transparent 60%, rgba(0,0,0,.55) 100%);
  opacity:0; transition:opacity .15s;
  display:flex; flex-direction:column; justify-content:space-between; padding:6px;
}
.album-item:hover .album-overlay[data-v-502d2f49] { opacity:1;
}
.album-badge[data-v-502d2f49] {
  align-self:flex-start; background:#ff9900; color:#fff; padding:1px 6px; border-radius:3px;
  font-size:11px; opacity:1;
}
.album-item.is-primary .album-badge[data-v-502d2f49] { display:inline-block;
}
.album-actions[data-v-502d2f49] { display:flex; gap:4px; justify-content:flex-end;
}
/* 上传拖拽区：固定紧凑大小，不随照片数量变化 */
.album-uploader[data-v-502d2f49] .el-upload { width:100%;
}
.album-uploader[data-v-502d2f49] .el-upload-dragger { width:100%; height:auto; padding:10px 14px; min-height:0;
}
.album-uploader .el-icon-upload[data-v-502d2f49] {
  font-size:24px !important; margin:0 8px 0 0 !important; line-height:1; vertical-align:middle;
}
.album-uploader .upload-text[data-v-502d2f49] { display:inline-block; vertical-align:middle; text-align:left;
}
.album-uploader .upload-text p[data-v-502d2f49] { margin: 1px 0; color: var(--theme-text-regular); font-size: 12px; line-height:1.4;
}
.album-uploader .upload-text em[data-v-502d2f49] { color: var(--theme-color-primary); font-style:normal; font-weight:600;
}
.album-uploader .upload-tip[data-v-502d2f49] { font-size:11px !important; color: var(--theme-text-placeholder) !important;
}

/* 详情 — 照片尺寸与编辑一致 */
.detail-photos[data-v-502d2f49] {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));
  gap:8px; margin-bottom:14px;
}
.detail-photo[data-v-502d2f49] { aspect-ratio:1/1; width:100%; height:auto;
}
.detail-meta[data-v-502d2f49] { line-height:1.8;
}
.meta-head[data-v-502d2f49] { display:flex; align-items:center; gap:10px; margin-bottom:6px;
}
.meta-name[data-v-502d2f49] { font-size:18px; font-weight:600;
}
.meta-en[data-v-502d2f49] { color:var(--theme-text-secondary);
}
.detail-meta > div[data-v-502d2f49] { padding:2px 0;
}
.detail-bio[data-v-502d2f49] { background:var(--theme-bg-page); border-radius:4px; padding:10px 12px; margin-top:8px; line-height:1.7;
}
.detail-section[data-v-502d2f49] { padding:4px 0; color: var(--theme-text-regular);
}
.detail-section b[data-v-502d2f49] { color: var(--theme-text-primary); margin-right: 4px;
}
.detail-photos-empty[data-v-502d2f49] { color: var(--theme-text-placeholder); padding: 30px 0; text-align: center; width: 100%;
}

/* V4.1.3 编辑/详情弹窗 tab 容器 */
.model-edit-tabs[data-v-502d2f49], .model-detail-tabs[data-v-502d2f49] { margin-top: -10px;
}
.model-edit-tabs[data-v-502d2f49] .el-tabs__nav, .model-detail-tabs[data-v-502d2f49] .el-tabs__nav { font-weight: 500;
}

/* V4.1.4 语言 chip */
.lang-quick[data-v-502d2f49], .lang-selected[data-v-502d2f49] {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  margin-bottom: 8px;
}
.lang-quick-label[data-v-502d2f49] {
  display: inline-block; width: 36px; flex-shrink: 0;
  font-size: 12px; color: var(--theme-text-secondary);
}
.lang-chip-pick[data-v-502d2f49] { cursor: pointer; transition: all .15s;
}
.lang-chip-pick[data-v-502d2f49]:hover { transform: translateY(-1px);
}
.lang-chip-selected[data-v-502d2f49] { font-weight: 500;
}
.lang-add-row[data-v-502d2f49] { display: flex; gap: 8px; margin-top: 4px;
}
.lang-add-input[data-v-502d2f49] { flex: 1; max-width: 280px;
}

/* V4.1.4 照片批量删除工具栏 + 选中态 */
.album-toolbar[data-v-502d2f49] {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 8px 10px; margin-bottom: 10px;
  background: var(--theme-bg-page); border-radius: 6px;
}
.album-toolbar-tip[data-v-502d2f49] {
  font-size: 12px; color: var(--theme-text-placeholder); margin-left: auto;
}
.album-grid.select-mode .album-item[data-v-502d2f49] { cursor: pointer; user-select: none;
}
.album-grid.select-mode .album-item .el-image[data-v-502d2f49] { pointer-events: none;
}
.album-item.is-selected[data-v-502d2f49] { border-color: var(--theme-color-primary); box-shadow: 0 0 0 2px rgba(255,107,53,.25);
}
.album-select-overlay[data-v-502d2f49] {
  position: absolute; top: 6px; right: 6px;
  width: 22px; height: 22px;
  background: rgba(255,255,255,.92); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.album-select-check[data-v-502d2f49] { color: #ff6b35; font-size: 22px;
}
.album-select-uncheck[data-v-502d2f49] { color: rgba(0,0,0,.3); font-size: 22px;
}
.album-item.is-selected .album-select-overlay[data-v-502d2f49] { background: #ff6b35;
}
.album-item.is-selected .album-select-check[data-v-502d2f49] { color: #fff;
}

/* ===== 模特 ↔ 主机 1:1 绑定弹框（统一三页样式） ===== */
.model-bind-wrap[data-v-502d2f49] { padding: 8px 20px 16px;
}
.bind-alert[data-v-502d2f49] { margin-bottom: 14px; border-radius: 8px;
}
.bind-section-block[data-v-502d2f49] { margin-bottom: 16px;
}
.bind-section-h[data-v-502d2f49] {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; color: #303133; margin-bottom: 10px;
}
.bind-section-h .bind-section-tip[data-v-502d2f49] { font-size: 12px; font-weight: 400; color: #909399; margin-left: 6px;
}
.bind-current-row[data-v-502d2f49] {
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(135deg, #f0f9ff 0%, #e9f3ff 100%);
  border: 1px solid #c6e2ff;
  border-radius: 10px;
  padding: 12px 14px;
}
.bind-current-row .current-icon[data-v-502d2f49] {
  flex-shrink: 0;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
  color: #409eff;
  box-shadow: 0 2px 6px rgba(64,158,255,.18);
}
.bind-current-row .current-info[data-v-502d2f49] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px;
}
.bind-current-row .current-title[data-v-502d2f49] { font-size: 14px; font-weight: 600; color: #303133;
}
.bind-current-row .current-meta[data-v-502d2f49] { font-size: 12px; color: #606266;
}
.bind-empty-row[data-v-502d2f49] {
  background: #fafafa;
  border: 1px dashed #e4e7ed;
  color: #c0c4cc;
  font-size: 12px;
  padding: 16px;
  text-align: center;
  border-radius: 10px;
}
.model-cards-grid[data-v-502d2f49] {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 8px; max-height: 380px; overflow-y: auto; padding: 4px;
}
.model-card[data-v-502d2f49] {
  position: relative; padding: 10px 10px 8px; border-radius: 8px;
  border: 1px solid #e4e7ed; background: #fff;
  cursor: pointer; transition: all .15s ease;
  display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.model-card[data-v-502d2f49]:hover {
  border-color: #ff6b35; box-shadow: 0 4px 10px rgba(255,107,53,0.12); transform: translateY(-1px);
}
.model-card.selected[data-v-502d2f49] {
  border-color: #ff6b35; background: linear-gradient(180deg, #fff5f0 0%, #fff 60%);
  box-shadow: 0 0 0 2px rgba(255,107,53,0.2);
}
.card-check[data-v-502d2f49] { position: absolute; top: 6px; right: 8px; font-size: 18px; color: #c0c4cc;
}
.model-card.selected .card-check[data-v-502d2f49] { color: #ff6b35;
}
.model-cover[data-v-502d2f49] {
  width: 54px; height: 54px; border-radius: 50%; overflow: hidden; background: #f5f7fa;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.model-cover i[data-v-502d2f49] { font-size: 28px; color: #c0c4cc;
}
.model-info[data-v-502d2f49] { text-align: center; line-height: 1.35; width: 100%;
}
.model-name[data-v-502d2f49] { font-size: 13px; font-weight: 600; color: #303133;
              white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.model-meta[data-v-502d2f49] { font-size: 11px; color: #606266; margin-top: 2px;
              display: flex; justify-content: center; gap: 6px; flex-wrap: wrap;
}
.model-meta-2[data-v-502d2f49] { font-size: 11px; color: #909399; margin-top: 2px;
                display: flex; justify-content: center; gap: 4px; flex-wrap: wrap;
}
.model-empty[data-v-502d2f49] {
  grid-column: 1/-1; padding: 36px 20px; text-align: center;
  color: #c0c4cc; font-size: 13px;
}
.model-empty i[data-v-502d2f49] { display: block; font-size: 36px; margin-bottom: 8px; opacity: 0.5;
}
.bind-actions[data-v-502d2f49] { display:flex; justify-content:flex-end; gap:10px; margin-top:18px;
                padding-top:16px; border-top:1px solid #ebeef5;
}
.bind-unbind-btn[data-v-502d2f49] { font-weight: 600; padding: 6px 12px;
}
.bind-unbind-btn i[data-v-502d2f49] { margin-right: 4px;
}
.bind-unbind-btn span[data-v-502d2f49] { color: #fff;
}

/* 模特列表「关联主机/精英」单元 */
.bound-info[data-v-502d2f49] { font-size:12px; line-height:1.5;
}
.bound-info > * + *[data-v-502d2f49] { margin-top:2px;
}
.bound-info .bound-host[data-v-502d2f49] { color:#303133; display:flex; align-items:center; gap:4px;
}
.bound-info .bound-marketer[data-v-502d2f49] { color:#409eff; display:flex; align-items:center; gap:4px;
}
.bound-info .bound-marketer-empty[data-v-502d2f49] { color:#e6a23c;
}
.text-muted[data-v-502d2f49] { font-size:12px; color:#c0c4cc;
}




































































































































































































































































































































































































































































































































/* V4.2.0: 统一容器卡片化样式，与远程主机管理一致 */
.model-plaza[data-v-74154971] {
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:20px;
  background:var(--theme-bg-page);
  color:var(--theme-text-primary);
}
.page-header[data-v-74154971] {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 20px;
  background:var(--theme-bg-color);
  border-radius:12px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
  margin-bottom:20px;
  flex-shrink:0;
}
.header-title[data-v-74154971] { display:flex; align-items:center; gap:10px;
}
.header-title > i[data-v-74154971] { font-size:22px; color:var(--theme-color-primary);
}
.title-text[data-v-74154971] { font-size:18px; font-weight:600;
}
.header-actions[data-v-74154971] { display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.plaza-search[data-v-74154971] { width: 240px;
}
.plaza-filter[data-v-74154971] { width: 100px;
}
.plaza-pagination[data-v-74154971] { display:flex; justify-content:flex-end; margin-top:20px; padding-top:20px; border-top:1px solid #ebeef5;
}
.page-body[data-v-74154971] {
  flex:1;
  padding:20px;
  background:var(--theme-bg-color);
  border-radius:12px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
}

/* V4.2.0: 模特广场卡片瘦身 — 适配几十/上百个模特的高密度展示 */
.model-grid[data-v-74154971] { display:grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap:12px;
}
.model-card[data-v-74154971] {
  background:var(--theme-bg-color); border:1px solid var(--theme-border-lighter);
  border-radius:8px; overflow:hidden; cursor:pointer;
  transition:transform .15s, box-shadow .15s, border-color .15s;
  display:flex; flex-direction:column;
}
.model-card[data-v-74154971]:hover { border-color:var(--theme-color-primary); box-shadow:0 4px 16px rgba(0,0,0,0.08); transform:translateY(-2px);
}
.model-cover[data-v-74154971] { position:relative; aspect-ratio:3/4; background:var(--theme-bg-page); overflow:hidden;
}
.cover-img[data-v-74154971] { width:100%; height:100%; object-fit:cover;
}
.cover-placeholder[data-v-74154971] { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:44px; color:var(--theme-text-placeholder);
}
.cover-overlay[data-v-74154971] { position:absolute; top:8px; right:8px; transform:scale(0.85); transform-origin:top right;
}
.model-body[data-v-74154971] { padding:8px 10px; flex:1;
}
.model-name[data-v-74154971] { font-weight:600; font-size:13px; line-height:1.3;
              white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.model-en[data-v-74154971] { color:var(--theme-text-secondary); font-size:11px; font-weight:normal;
}
.model-meta[data-v-74154971] { display:flex; gap:4px; color:var(--theme-text-secondary); font-size:11px; margin-top:2px;
              white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.model-desc[data-v-74154971] { color:var(--theme-text-regular); font-size:11px; margin-top:4px; line-height:1.4;
              display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.model-actions[data-v-74154971] { padding:6px 10px; border-top:1px solid var(--theme-border-lighter);
}
.model-actions[data-v-74154971]  .el-button { padding:6px 8px; font-size:12px;
}

/* 列表密度切换：紧凑模式（更小卡片 + 隐藏简介，每屏可见更多） */
.model-grid.dense[data-v-74154971] { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap:10px;
}
.model-grid.dense .model-body[data-v-74154971] { padding:6px 8px;
}
.model-grid.dense .model-desc[data-v-74154971] { display:none;
}
.model-grid.dense .model-actions[data-v-74154971] { padding:4px 8px;
}
.model-grid.dense .cover-placeholder[data-v-74154971] { font-size:36px;
}
@media (min-width: 1600px) {
.model-grid[data-v-74154971] { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}
}
@media (min-width: 1920px) {
.model-grid[data-v-74154971] { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}
}
.detail-photos[data-v-74154971] { display:grid; grid-template-columns:repeat(auto-fill, minmax(100px, 1fr)); gap:8px; margin-bottom:14px;
}
.detail-photo[data-v-74154971] { aspect-ratio:1/1; width:100%; height:auto; object-fit:cover; border-radius:6px;
}
.detail-photos-empty[data-v-74154971] { color:var(--theme-text-placeholder); padding:30px 0; text-align:center; width:100%; grid-column:1/-1;
}

/* 与模特管理一致的详情样式 */
.mdl-detail-wrap[data-v-74154971] { padding: 14px 18px 4px;
}
.mdl-hero[data-v-74154971] { display:flex; align-items:center; gap:14px; padding:14px 16px; margin-bottom:14px;
  background: linear-gradient(135deg, #fff5f7 0%, #fce8ed 100%);
  border:1px solid rgba(245,108,108,0.18); border-radius:12px;
}
.mdl-hero-avatar[data-v-74154971] { width:64px; height:64px; border-radius:50%;
  background: linear-gradient(135deg, #f78fb3, #f56c6c);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:28px; flex-shrink:0; box-shadow:0 4px 12px rgba(245,108,108,0.25); overflow:hidden;
}
.mdl-hero-avatar img[data-v-74154971] { width:100%; height:100%; object-fit:cover;
}
.mdl-hero-info[data-v-74154971] { flex:1; min-width:0;
}
.mdl-hero-name[data-v-74154971] { font-size:20px; font-weight:700; color:#303133;
  display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;
}
.mdl-hero-en[data-v-74154971] { font-size:14px; font-weight:400; color:#909399;
}
.mdl-hero-meta[data-v-74154971] { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:8px;
}
.mdl-chip[data-v-74154971] { display:inline-flex; align-items:center; padding:2px 10px; border-radius:12px;
  font-size:12px; color:#606266; background:rgba(255,255,255,0.75); border:1px solid #e4e7ed;
}
.mdl-chip-gender[data-v-74154971] { color:#e6a23c; border-color:rgba(230,162,60,0.3);
}
.mdl-section[data-v-74154971] { margin-bottom:16px;
}
.mdl-section-h[data-v-74154971] { display:flex; align-items:center; gap:6px; font-size:14px; font-weight:600;
  color:#303133; margin-bottom:10px; padding-bottom:6px; border-bottom:1px solid #f0f0f0;
}
.mdl-section-h i[data-v-74154971] { color:#f56c6c; font-size:16px;
}
.mdl-grid[data-v-74154971] { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:8px;
}
.mdl-item[data-v-74154971] { background:#fafbfc; border-radius:6px; padding:8px 12px;
}
.mdl-k[data-v-74154971] { font-size:12px; color:#909399; margin-bottom:2px;
}
.mdl-v[data-v-74154971] { font-size:13px; color:#303133; word-break:break-all;
}
.mdl-bio[data-v-74154971] { background: linear-gradient(135deg, #fafbfc, #f5f7fa); border-radius:8px;
  padding:12px 14px; font-size:13px; color:#606266; line-height:1.7;
}
.mdl-list[data-v-74154971] { display: flex; flex-direction: column; gap: 8px;
}
.mdl-li[data-v-74154971] {
  background: #fafbfc; border-radius: 6px;
  padding: 8px 12px;
  font-size: 13px; color: #606266; line-height: 1.6;
}
.mdl-li b[data-v-74154971] { color: #303133; font-weight: 600; margin-right: 4px;
}
.mdl-langs[data-v-74154971] { display: inline-flex; flex-wrap: wrap; gap: 4px;
}
.mdl-lang-chip[data-v-74154971] {
  display: inline-block; padding: 2px 8px; border-radius: 10px;
  font-size: 11px; color: #409eff;
  background: #ecf5ff;
  border: 1px solid rgba(64,158,255,0.2);
}
.mdl-detail-footer[data-v-74154971] { display:flex; justify-content:flex-end; gap:10px;
  margin-top:10px; padding-top:16px; border-top:1px solid #ebeef5;
}
.mdl-detail-footer .el-button[data-v-74154971] { padding:10px 22px;
}
[data-theme="dark"] .mdl-hero[data-v-74154971] { background:linear-gradient(135deg, #2a1f23 0%, #1d1e1f 100%);
  border-color:rgba(245,108,108,0.25);
}
[data-theme="dark"] .mdl-hero-name[data-v-74154971] { color:#e0e0e0;
}
[data-theme="dark"] .mdl-section-h[data-v-74154971] { color:#e0e0e0; border-bottom-color:#333;
}
[data-theme="dark"] .mdl-item[data-v-74154971], [data-theme="dark"] .mdl-bio[data-v-74154971] { background:#252628;
}
[data-theme="dark"] .mdl-v[data-v-74154971] { color:#e0e0e0;
}
[data-theme="dark"] .mdl-chip[data-v-74154971] { background:rgba(255,255,255,0.05); border-color:#333; color:#cfd3dc;
}
[data-theme="dark"] .mdl-detail-footer[data-v-74154971] { border-top-color:#333;
}
.detail-meta[data-v-74154971] { line-height:1.8;
}
.detail-bio[data-v-74154971] { background:var(--theme-bg-page); border-radius:4px; padding:10px 12px; margin-top:8px; line-height:1.7;
}
.order-target[data-v-74154971] { display:flex; align-items:center; gap:12px; padding:10px 12px; background:var(--theme-bg-page); border-radius:6px; margin-bottom:14px;
}
.order-avatar[data-v-74154971] { width:48px; height:48px; border-radius:24px; object-fit:cover;
}
.order-name[data-v-74154971] { font-size:15px;
}
.order-sub[data-v-74154971] { color:var(--theme-text-secondary); font-size:12px;
}
.form-suffix[data-v-74154971] { margin-left:10px; color:var(--theme-text-secondary); font-size:12px;
}
.req-form-item .req-list[data-v-74154971] { display:flex; flex-direction:column; gap:6px; margin-bottom:6px;
}
.req-row[data-v-74154971] { display:flex; align-items:center; gap:6px;
}
.req-idx[data-v-74154971] { width:28px; color:var(--theme-text-secondary);
}

/* V4.1.1 reflective：常用 chip + 其他可展开 */
.curr-section[data-v-74154971] { margin-bottom:10px;
}
.curr-section-label[data-v-74154971] {
  display:inline-flex; align-items:center; gap:4px;
  font-size:12px; color:var(--theme-text-secondary); margin-bottom:6px;
}
.curr-section-label i[data-v-74154971] { color:#ffd84d; font-size:14px;
}
.curr-section-label.clickable[data-v-74154971] { cursor:pointer; user-select:none;
}
.curr-section-label.clickable[data-v-74154971]:hover { color:var(--theme-color-primary);
}
.curr-section-label.clickable i[data-v-74154971] { color:var(--theme-color-primary);
}
.curr-chips[data-v-74154971] { display:flex; flex-wrap:wrap; gap:8px;
}
.curr-chip[data-v-74154971] {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 14px; border-radius:6px;
  background:var(--theme-bg-page);
  border:1px solid var(--theme-border-lighter);
  color:var(--theme-text-regular); font-size:13px; font-weight:500;
  cursor:pointer; user-select:none; transition:all .12s;
}
.curr-chip[data-v-74154971]:hover {
  border-color:var(--theme-color-primary); color:var(--theme-color-primary);
  background:rgba(255,122,69,0.05);
}
.curr-chip.active[data-v-74154971] {
  background:var(--theme-color-primary); border-color:var(--theme-color-primary);
  color:#fff;
}
.curr-chip.small[data-v-74154971] { padding:4px 10px; font-size:12px;
}
.curr-icon[data-v-74154971] { width:18px; height:18px; border-radius:50%; object-fit:cover;
}
.curr-chip.small .curr-icon[data-v-74154971] { width:14px; height:14px;
}
.others-chips[data-v-74154971] { padding:8px 10px; background:var(--theme-bg-page);
                border-radius:4px; border:1px dashed var(--theme-border-lighter);
}
.pay-empty[data-v-74154971] {
  padding:14px 16px; color:var(--theme-text-secondary); font-size:13px;
  background:var(--theme-bg-page); border-radius:4px; border:1px dashed var(--theme-border-lighter);
}

/* V4.1.1 申报规则提示 */
.rule-banner[data-v-74154971] {
  display:flex; gap:10px; margin-top:14px;
  padding:12px 14px; background:rgba(255,122,69,0.06);
  border-left:3px solid var(--theme-color-primary); border-radius:4px;
  font-size:13px;
}
.rule-banner > i[data-v-74154971] { color:var(--theme-color-primary); font-size:16px; margin-top:2px;
}
.rule-text[data-v-74154971] { flex:1; line-height:1.7;
}
.rule-title[data-v-74154971] { font-weight:600; margin-bottom:4px; color:var(--theme-text-primary);
}
.rule-line[data-v-74154971] { color:var(--theme-text-regular);
}
.cost-alert[data-v-74154971] { margin-top:10px;
}


















































































































































































































































































































































































































































































































































/* V4.2.0: 分页器统一样式 (与机房老板/客户经理等列表一致) */
.fo-pagination[data-v-561b27bf] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #ebeef5;
}
.fo-pagination[data-v-561b27bf] .el-pagination { font-weight: 500;
}

/* V4.2.0: 容器和卡片化统一 — 与「远程主机管理」一致 */
.fan-orders[data-v-561b27bf] {
  display:flex; flex-direction:column;
  min-height:100%;
  padding:20px;
  background:var(--theme-bg-page);
  color:var(--theme-text-primary);
}

/* V4.2.0: 顶部紧凑统计面板（今日 + 累计），样式与引粉客户审核 stat-panel 一致 */
.stat-panel[data-v-561b27bf] {
  display: flex; align-items: stretch;
  background: linear-gradient(135deg, #fff8f3 0%, #fff5ed 100%);
  border: 1px solid rgba(255, 107, 53, 0.15);
  border-radius: 12px;
  padding: 12px 18px;
  margin-bottom: 14px;
}
.stat-group[data-v-561b27bf] { flex: 1; min-width: 0;
}
.stat-group-title[data-v-561b27bf] {
  display: flex; align-items: center; gap: 4px;
  font-size: 12px; color: #909399; font-weight: 600;
  margin-bottom: 6px;
}
.stat-group-title[data-v-561b27bf] i,
.stat-group-title i[data-v-561b27bf] { color: #ff6b35; font-size: 14px;
}
.stat-row[data-v-561b27bf] { display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
.stat-cell[data-v-561b27bf] { display: flex; align-items: baseline; gap: 4px; white-space: nowrap;
}
.stat-num[data-v-561b27bf] {
  font-size: 18px; font-weight: 700;
  font-family: Consolas, Menlo, monospace;
  color: #303133;
}
.stat-num[data-v-561b27bf] em,
.stat-num em[data-v-561b27bf] { font-style: normal; font-size: 11px; color: #909399; margin-left: 2px; font-weight: 400;
}
.stat-num.stat-green[data-v-561b27bf]  { color: #67c23a;
}
.stat-num.stat-orange[data-v-561b27bf] { color: #e6a23c;
}
.stat-num.stat-red[data-v-561b27bf]    { color: #f56c6c;
}
.stat-num.stat-blue[data-v-561b27bf]   { color: #409eff;
}
.stat-num.stat-amt[data-v-561b27bf]    { color: #ff6b35; font-size: 16px;
}
.stat-lbl[data-v-561b27bf] { font-size: 11px; color: #909399;
}
.stat-divider[data-v-561b27bf] {
  width: 1px; background: rgba(255, 107, 53, 0.15);
  margin: 0 18px;
}
[data-theme="dark"] .stat-panel[data-v-561b27bf] {
  background: linear-gradient(135deg, #2a1f15 0%, #1d1e1f 100%);
  border-color: rgba(255, 140, 53, 0.2);
}
[data-theme="dark"] .stat-num[data-v-561b27bf] { color: #e0e0e0;
}
/* 表格区也卡片化，与远程主机管理 table-card 同款 */
.page-body[data-v-561b27bf] {
  flex:1;
  padding:20px;
  background:var(--theme-bg-color);
  border-radius:12px;
  box-shadow:0 2px 12px rgba(0,0,0,.08);
}

/* V4.2.0: 筛选卡片 — 与引粉客户审核同款的双排筛选 + 右侧按钮 */
.filter-card[data-v-561b27bf] {
  margin-bottom: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}
.filter-card[data-v-561b27bf]:hover { box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
.filter-card[data-v-561b27bf] .filter-wrapper {
  display: flex; align-items: flex-start; gap: 16px;
}
.filter-card[data-v-561b27bf] .filter-conditions { flex: 1; min-width: 0;
}
.filter-card[data-v-561b27bf] .filter-actions {
  display: flex; flex-direction: row; gap: 8px;
  flex-shrink: 0; align-items: center; align-self: flex-start;
  padding-top: 2px;
}
.filter-card[data-v-561b27bf] .filter-form .filter-row {
  display: flex; align-items: center; flex-wrap: wrap;
  margin-bottom: 12px;
}
.filter-card[data-v-561b27bf] .filter-form .filter-row:last-child { margin-bottom: 0;
}
.filter-card[data-v-561b27bf] .filter-form .el-form-item {
  margin-bottom: 0; margin-right: 12px;
}
.filter-card[data-v-561b27bf] .filter-form .el-form-item:last-child { margin-right: 0;
}
.filter-card[data-v-561b27bf] .filter-form .search-input { width: 280px;
}
.filter-card[data-v-561b27bf] .filter-form .date-picker { width: 260px;
}

/* 快捷日期按钮组 */
.filter-card[data-v-561b27bf] .filter-form .quick-dates .el-form-item__label { display: none;
}
.filter-card[data-v-561b27bf] .filter-form .quick-dates .el-button {
  height: 32px; line-height: 30px; padding: 0 12px; border-radius: 4px;
  font-size: 13px; font-weight: normal;
  border: 1px solid #dcdfe6; background: #ffffff; color: #606266;
}
.filter-card[data-v-561b27bf] .filter-form .quick-dates .el-button:hover {
  color: #ff6b35; border-color: #fcbda5; background-color: #fff5ed;
}
.filter-card[data-v-561b27bf] .filter-form .quick-dates .el-button + .el-button { margin-left: 8px;
}

/* 状态切换按钮组（橙红主题） */
.filter-card[data-v-561b27bf] .status-tab-item .status-tabs .el-radio-button__inner {
  font-weight: 500; padding: 8px 14px;
}
.filter-card[data-v-561b27bf] .status-tab-item .status-tabs .el-radio-button.is-active .el-radio-button__inner {
  background: linear-gradient(135deg, #ff6b35, #f77b3b);
  border-color: #ff6b35; color: #fff;
  box-shadow: 0 2px 6px rgba(255, 107, 53, 0.3);
}
.filter-card[data-v-561b27bf] .status-tab-item .status-tabs .el-radio-button .el-radio-button__inner:hover { color: #ff6b35;
}
.filter-card[data-v-561b27bf] .status-tab-item .status-tabs .el-radio-button.is-active .el-radio-button__inner:hover { color: #fff;
}

/* 暗色主题适配 */
[data-theme="dark"] .filter-card[data-v-561b27bf] .filter-form .quick-dates .el-button {
  background: #2d2d2d; color: #b0b0b0; border-color: #4c4d4f;
}
[data-theme="dark"] .filter-card[data-v-561b27bf] .filter-form .quick-dates .el-button:hover {
  color: #ff8c42; border-color: #5a4423; background-color: #2a1f15;
}
/* V4.2.0: 规格 / 单价 合并列 — 两行 */
.spec-cell[data-v-561b27bf] { display:flex; flex-direction:column; gap:4px;
}
.spec-line[data-v-561b27bf] { font-size:13px; color:var(--theme-text-primary);
}
.spec-price[data-v-561b27bf] { font-size:12px; color:var(--theme-text-secondary);
}
.spec-price-num[data-v-561b27bf] { font-weight:600; color:#ff6b35;
  font-family: Consolas, monospace; margin: 0 2px;
}

/* V4.2.0: 营销精英列 — 昵称 + 用户名两行展示 */
.marketer-cell[data-v-561b27bf] { display:flex; flex-direction:column; gap:2px; min-width:0;
}
.marketer-nick[data-v-561b27bf] { font-weight:600; color:var(--theme-text-primary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.marketer-uname[data-v-561b27bf] { font-size:12px; color:var(--theme-text-secondary); font-family: Consolas, monospace; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.progress-detail[data-v-561b27bf] { font-size:12px; color:var(--theme-text-secondary); margin-top:6px;
  display:flex; flex-wrap:wrap; gap:6px;
}
.cnt-app[data-v-561b27bf] { color:#67c23a; font-weight:600;
}
.cnt-rej[data-v-561b27bf] { color:#f56c6c; font-weight:600;
}

/* V4.2.0: 进度条 + "百分比(申报数)" 文本 flex 并排，文本紧贴百分比格式 `40% (15)` */
.prog-row[data-v-561b27bf] {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.prog-bar[data-v-561b27bf] { flex: 1; min-width: 0;
}   /* el-progress 关掉内置 text，占满剩余宽度 */
.prog-text[data-v-561b27bf] {
  flex-shrink: 0;
  font-size: 12px;
  color: var(--theme-text-primary);
  font-family: Consolas, monospace;
  font-feature-settings: 'tnum';
  font-weight: 600;
}

/* V4.2.0: 4 个状态彩色 chip — 通过/加WA待审/待审/拒绝 */
.stat-tag[data-v-561b27bf] {
  display:inline-flex; align-items:center;
  padding:0 6px; height:18px; line-height:18px;
  border-radius:3px;
  font-size:11px; font-weight:600;
  white-space:nowrap;
}
.stat-tag-done[data-v-561b27bf]    { background:#fff5ed; color:#ff6b35;
}
.stat-tag-app[data-v-561b27bf]     { background:#f0f9eb; color:#67c23a;
}
.stat-tag-wa[data-v-561b27bf]      { background:#ecf5ff; color:#409eff;
}
.stat-tag-pending[data-v-561b27bf] { background:#fdf6ec; color:#e6a23c;
}
.stat-tag-rej[data-v-561b27bf]     { background:#fef0f0; color:#f56c6c;
}
[data-theme="dark"] .stat-tag-done[data-v-561b27bf]    { background:rgba(255,107,53,.14);
}
[data-theme="dark"] .stat-tag-app[data-v-561b27bf]     { background:rgba(103,194,58,.14);
}
[data-theme="dark"] .stat-tag-wa[data-v-561b27bf]      { background:rgba(64,158,255,.14);
}
[data-theme="dark"] .stat-tag-pending[data-v-561b27bf] { background:rgba(230,162,60,.14);
}
[data-theme="dark"] .stat-tag-rej[data-v-561b27bf]     { background:rgba(245,108,108,.14);
}
.price-sub[data-v-561b27bf] { font-size:12px; color:var(--theme-text-secondary);
}
.price-main[data-v-561b27bf] { font-weight:600; color:var(--theme-text-primary);
}
.price-unit[data-v-561b27bf] { font-size:12px; color:var(--theme-text-secondary); margin-left:2px;
}
.amt-total[data-v-561b27bf] { font-weight:600; color:#ff6b35;
}

/* 模特列 */
.model-cell[data-v-561b27bf] { display:flex; align-items:center; gap:8px;
}
.model-avatar[data-v-561b27bf] { width:32px; height:32px; border-radius:50%; object-fit:cover; flex-shrink:0;
  border:1px solid var(--theme-border-lighter);
}
.model-avatar.fallback[data-v-561b27bf] { display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#ff6b35,#f7931e); color:#fff; font-size:16px;
}
.model-text[data-v-561b27bf] { display:flex; flex-direction:column; min-width:0;
}
.model-name[data-v-561b27bf] { font-weight:600; font-size:13px; color:var(--theme-text-primary);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.model-en[data-v-561b27bf] { font-size:11px; color:var(--theme-text-secondary);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* ============ 详情弹窗 ============ */
[data-v-561b27bf] .fo-detail-dialog { border-radius:12px; overflow:hidden;
}
[data-v-561b27bf] .fo-detail-dialog .el-dialog__header {
  padding:0; background:linear-gradient(135deg,#ff6b35 0%,#f7931e 100%); border-bottom:none;
}
[data-v-561b27bf] .fo-detail-dialog .el-dialog__headerbtn { top:14px; right:18px; font-size:18px;
}
[data-v-561b27bf] .fo-detail-dialog .el-dialog__headerbtn .el-dialog__close { color:#fff;
}
[data-v-561b27bf] .fo-detail-dialog .el-dialog__body { padding:0; background:var(--theme-bg-page);
}
.fo-dialog-title[data-v-561b27bf] { display:flex; align-items:center; gap:8px; padding:14px 22px; color:#fff; font-size:15px; font-weight:600;
}
.fo-dialog-title > i[data-v-561b27bf] { font-size:18px;
}
.fo-title-status[data-v-561b27bf] { margin-left:6px; border:none !important;
}
.fo-detail[data-v-561b27bf] { padding:20px 22px 22px; display:flex; flex-direction:column; gap:14px;
}

/* hero */
.fo-hero[data-v-561b27bf] {
  display:flex; justify-content:space-between; align-items:center;
  padding:16px 18px; border-radius:10px;
  background:linear-gradient(135deg, rgba(255,107,53,.10) 0%, rgba(247,147,30,.06) 100%);
  border:1px solid rgba(255,107,53,.18);
}
.fo-hero-left[data-v-561b27bf] { display:flex; align-items:center; gap:14px;
}
.fo-model-avatar[data-v-561b27bf] { width:54px; height:54px; border-radius:50%; overflow:hidden; flex-shrink:0;
  border:2px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.08);
}
.fo-model-avatar img[data-v-561b27bf] { width:100%; height:100%; object-fit:cover; display:block;
}
.fo-model-avatar.fallback[data-v-561b27bf] { display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#ff6b35,#f7931e); color:#fff; font-size:22px;
}
.fo-hero-info[data-v-561b27bf] { display:flex; flex-direction:column; gap:4px;
}
.fo-model-name[data-v-561b27bf] { font-size:15px; font-weight:600; color:var(--theme-text-primary);
}
.fo-model-en[data-v-561b27bf] { font-size:12px; font-weight:400; color:var(--theme-text-secondary); margin-left:4px;
}
.fo-order-no[data-v-561b27bf] { font-size:12px; color:var(--theme-text-secondary); display:flex; align-items:center; gap:4px;
}
.fo-order-no > i[data-v-561b27bf] { font-size:12px;
}
.fo-order-wa[data-v-561b27bf] { font-size:12px; color:var(--theme-text-secondary); display:flex; align-items:center; gap:4px; margin-top:3px;
}
.fo-order-wa > i[data-v-561b27bf] { font-size:12px; color:#ff6b35;
}
.wa-text[data-v-561b27bf] { font-family:Consolas,monospace;
}
.wa-empty[data-v-561b27bf] { color:var(--theme-text-placeholder);
}
.fo-hero-right[data-v-561b27bf] { text-align:center; padding-left:18px; border-left:1px dashed rgba(255,107,53,.3);
}
.fo-hero-stat[data-v-561b27bf] { display:flex; flex-direction:column; align-items:center;
}
.fo-stat-num[data-v-561b27bf] { font-size:26px; font-weight:700; color:#ff6b35; line-height:1.1;
}
.fo-stat-label[data-v-561b27bf] { font-size:12px; color:var(--theme-text-secondary); margin-top:2px;
}

/* progress card */
.fo-progress-card[data-v-561b27bf] { background:var(--theme-bg-color); border:1px solid var(--theme-border-lighter);
  border-radius:10px; padding:14px 16px;
}
.fo-progress-head[data-v-561b27bf] { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;
}
.fo-progress-title[data-v-561b27bf] { font-size:13px; font-weight:600; color:var(--theme-text-primary); display:flex; align-items:center; gap:6px;
}
.fo-progress-title > i[data-v-561b27bf] { color:#ff6b35;
}
.fo-progress-pct[data-v-561b27bf] { font-size:16px; font-weight:700; color:#ff6b35;
}
/* V4.2.0: 6 状态 cell — grid 改为 6 列 */
.fo-progress-stats[data-v-561b27bf] { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-top:14px;
}
.fo-stat-cell[data-v-561b27bf] { background:var(--theme-bg-page); border-radius:8px; padding:10px 4px; text-align:center; border:1px solid transparent;
}
.fo-stat-cell.ok[data-v-561b27bf]      { background:rgba(103,194,58,.08); border-color:rgba(103,194,58,.2);
}
.fo-stat-cell.wa[data-v-561b27bf]      { background:rgba(64,158,255,.08); border-color:rgba(64,158,255,.2);
}
.fo-stat-cell.cfm[data-v-561b27bf]     { background:rgba(230,162,60,.08); border-color:rgba(230,162,60,.2);
}
.fo-stat-cell.rej[data-v-561b27bf]     { background:rgba(245,108,108,.08); border-color:rgba(245,108,108,.2);
}
.fo-stat-cell.pending[data-v-561b27bf] { background:rgba(144,147,153,.08); border-color:rgba(144,147,153,.2);
}
.fo-cell-num[data-v-561b27bf] { font-size:18px; font-weight:700; color:var(--theme-text-primary); line-height:1.1;
}
.fo-stat-cell.ok      .fo-cell-num[data-v-561b27bf] { color:#67c23a;
}
.fo-stat-cell.wa      .fo-cell-num[data-v-561b27bf] { color:#409eff;
}
.fo-stat-cell.cfm     .fo-cell-num[data-v-561b27bf] { color:#e6a23c;
}
.fo-stat-cell.rej     .fo-cell-num[data-v-561b27bf] { color:#f56c6c;
}
.fo-stat-cell.pending .fo-cell-num[data-v-561b27bf] { color:#909399;
}
.fo-cell-label[data-v-561b27bf] { font-size:11px; color:var(--theme-text-secondary); margin-top:4px;
}

/* grid + cards */
.fo-grid[data-v-561b27bf] { display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
.fo-card[data-v-561b27bf] { background:var(--theme-bg-color); border:1px solid var(--theme-border-lighter); border-radius:10px; overflow:hidden;
}
.fo-card-head[data-v-561b27bf] { padding:10px 14px; font-size:13px; font-weight:600; color:var(--theme-text-primary);
  border-bottom:1px solid var(--theme-border-lighter); background:var(--theme-bg-page);
  display:flex; align-items:center; gap:6px;
}
.fo-card-head > i[data-v-561b27bf] { color:#ff6b35;
}
.fo-req-cnt[data-v-561b27bf] { margin-left:auto;
}
.fo-card-body[data-v-561b27bf] { padding:10px 14px;
}
.fo-info-row[data-v-561b27bf] { display:flex; justify-content:space-between; align-items:baseline; padding:6px 0; font-size:13px;
}
.fo-info-row + .fo-info-row[data-v-561b27bf] { border-top:1px dashed var(--theme-border-lighter);
}
.fo-info-row > label[data-v-561b27bf] { color:var(--theme-text-secondary); font-size:12px;
}
.fo-info-row > b[data-v-561b27bf] { font-weight:600; color:var(--theme-text-primary);
}
.fo-info-row em[data-v-561b27bf] { font-style:normal; font-size:11px; font-weight:400; color:var(--theme-text-secondary); margin-left:2px;
}
.fo-amt-total[data-v-561b27bf] { color:#ff6b35 !important; font-size:14px !important;
}
.fo-amt-frozen[data-v-561b27bf] { color:#409EFF !important;
}
.fo-expired[data-v-561b27bf] { color:#f56c6c !important;
}
.fo-req-list[data-v-561b27bf] { margin:0; padding-left:20px; line-height:1.85; font-size:13px; color:var(--theme-text-primary);
}
.fo-req-list li[data-v-561b27bf] { padding:2px 0;
}

