/*
 * Yinse Custom Theme
 * For yinse Store
 */
:root {
    --xn-block-gap: 18px;
    --xn-ink: #dbe7ff;
    --xn-ink-2: #f0f4ff;
    --xn-building: #050812;
    --xn-hair: #6fa4ff;
    --xn-hair-soft: #b8c4ff;
    --xn-sky: #d7ddff;
    --xn-paper: rgba(10, 14, 28, 0.74);
    --xn-paper-2: rgba(7, 10, 20, 0.80);
    --xn-line: rgba(126, 154, 255, 0.24);
    --xn-line-strong: rgba(168, 184, 255, 0.48);
    --xn-pink: #c6a4ff;
    --xn-brick: #6f5b8f;
    --xn-success: #8ed9c6;
    --xn-warning: #d3b681;
    --xn-shadow: 0 18px 46px rgba(0, 0, 0, 0.42), 0 0 28px rgba(85, 121, 255, 0.12);
    --xn-shadow-hover: 0 24px 58px rgba(0, 0, 0, 0.50), 0 0 36px rgba(119, 145, 255, 0.18);
}

body.yinse-theme.ys {
    --yinse-layout-gap: var(--xn-block-gap);
    --yinse-bg: var(--xn-paper-2);
    --yinse-surface: var(--xn-paper);
    --yinse-black: #8fb4ff;
    --yinse-text: var(--xn-ink);
    --yinse-muted: #9aa6c4;
    --yinse-muted-strong: #c5d1f4;
    --yinse-muted-soft: var(--xn-hair);
    --yinse-link: #9bbcff;
    --yinse-border: var(--xn-line);
    --yinse-border-strong: var(--xn-line-strong);
    --yinse-accent: var(--xn-hair);
    --yinse-accent-light: var(--xn-hair-soft);
    --yinse-accent-rgb: 111, 164, 255;
    --yinse-shadow-soft: var(--xn-shadow);
    --yinse-shadow-elevated: var(--xn-shadow-hover);
    min-height: 100vh;
    background-color: #050812 !important;
    background-image:
        var(--yinse-page-background-image, none) !important;
    background-size: cover !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed !important;
    color: var(--xn-ink);
}

body.yinse-theme.ys::before {
    display: none !important;
}

body.yinse-theme.ys.yinse-bg-mask-on::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    display: block !important;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 34%, rgba(167, 178, 255, 0.16), transparent 22%),
        radial-gradient(circle at 72% 18%, rgba(111, 164, 255, 0.12), transparent 30%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.70) 0%, rgba(4, 8, 18, 0.42) 45%, rgba(0, 0, 0, 0.74) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.68), rgba(4, 8, 18, 0.48) 38%, rgba(1, 2, 7, 0.88));
}

body.yinse-theme.ys.yinse-image-flip-x {
    position: relative;
    isolation: isolate;
}

body.yinse-theme.ys.yinse-image-flip-x::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background: var(--yinse-page-background-image, none);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
    transform: scaleX(-1);
    transform-origin: center;
}

body.yinse-theme.ys.yinse-image-flip-x {
    background-image: none !important;
}

body.ys.yinse-image-flip-x .yinse-payment-notice {
    background-image:
        linear-gradient(90deg, rgba(9, 30, 46, 0.82), rgba(17, 65, 79, 0.76)),
        var(--yinse-page-background-image, none) !important;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

body.ys.yinse-image-flip-x .yinse-payment-notice::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: var(--yinse-page-background-image, none);
    background-size: cover;
    background-position: center;
    transform: scaleX(-1);
    opacity: 0;
}

.yinse-heart-particle-layer {
    position: fixed;
    inset: 0;
    z-index: 12;
    overflow: hidden;
    pointer-events: none;
    contain: layout paint;
}

.yinse-heart-particle {
    position: absolute;
    left: var(--heart-x, 50vw);
    bottom: -34px;
    width: var(--heart-size, 14px);
    height: var(--heart-size, 14px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--heart-color, #8dd8ff);
    font-size: var(--heart-size, 14px);
    font-weight: 800;
    line-height: 1;
    opacity: 0;
    filter:
        drop-shadow(0 0 8px rgba(141, 216, 255, 0.36))
        drop-shadow(0 0 18px rgba(111, 164, 255, 0.12));
    transform: translate3d(-50%, 0, 0) rotate(calc(var(--heart-rotate, 0deg) + var(--heart-mouse-rotate, 0deg))) scale(calc(0.78 * var(--heart-mouse-scale, 1)));
    animation: yinseHeartFloat var(--heart-duration, 9s) cubic-bezier(0.22, 0.64, 0.26, 1) forwards;
    transition: filter 0.22s ease, color 0.22s ease;
}

.yinse-heart-particle[data-shape="dot"] {
    border-radius: 999px;
    background: currentColor;
    font-size: 0;
    box-shadow:
        0 0 10px rgba(141, 216, 255, 0.44),
        0 0 22px rgba(111, 164, 255, 0.18);
}

.yinse-heart-particle[data-shape="diamond"] {
    border: 1px solid currentColor;
    border-radius: 3px;
    background: rgba(141, 216, 255, 0.06);
    font-size: 0;
}

.yinse-heart-particle[data-shape="dash"] {
    width: calc(var(--heart-size, 14px) * 1.9);
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, currentColor, transparent);
    font-size: 0;
}

.yinse-heart-particle.is-near-mouse {
    color: #dbe7ff;
    filter:
        drop-shadow(0 0 10px rgba(219, 231, 255, 0.58))
        drop-shadow(0 0 20px rgba(141, 216, 255, 0.22));
    animation-play-state: paused;
}

@keyframes yinseHeartFloat {
    0% {
        opacity: 0;
        transform: translate3d(-50%, 0, 0) rotate(calc(var(--heart-rotate, 0deg) + var(--heart-mouse-rotate, 0deg))) scale(calc(0.32 * var(--heart-mouse-scale, 1)));
    }
    9% {
        opacity: var(--heart-opacity, 0.52);
        transform: translate3d(-50%, -10px, 0) rotate(calc(var(--heart-rotate, 0deg) + var(--heart-mouse-rotate, 0deg))) scale(calc(1 * var(--heart-mouse-scale, 1)));
    }
    38% {
        opacity: var(--heart-opacity, 0.52);
        transform: translate3d(calc(-50% + var(--heart-drift-mid, 18px) * 0.46), calc(var(--heart-rise, -72vh) * 0.40), 0) rotate(calc((var(--heart-rotate, 0deg) * -0.28) + var(--heart-mouse-rotate, 0deg))) scale(calc(0.92 * var(--heart-mouse-scale, 1)));
    }
    72% {
        opacity: calc(var(--heart-opacity, 0.52) * 0.72);
        transform: translate3d(calc(-50% + var(--heart-drift-mid, 18px) * 0.82), calc(var(--heart-rise, -72vh) * 0.76), 0) rotate(calc((var(--heart-rotate, 0deg) * 0.48) + var(--heart-mouse-rotate, 0deg))) scale(calc(0.72 * var(--heart-mouse-scale, 1)));
    }
    100% {
        opacity: 0;
        transform: translate3d(calc(-50% + var(--heart-drift, -18px)), var(--heart-rise, -72vh), 0) rotate(calc(var(--heart-rotate, 0deg) + var(--heart-spin, 28deg) + var(--heart-mouse-rotate, 0deg))) scale(calc(0.52 * var(--heart-mouse-scale, 1)));
    }
}

@media (prefers-reduced-motion: reduce), (max-width: 767px), (hover: none), (pointer: coarse) {
    .yinse-heart-particle-layer {
        display: none !important;
    }
}

body.ys .yinse-page-frame {
    min-height: 100vh;
}

body.ys .yinse-main {
    margin-top: var(--xn-block-gap) !important;
}

body.ys .yinse-nav-shell + .yinse-nav-shell,
body.ys .yinse-header + .yinse-nav-shell {
    padding-top: var(--xn-block-gap) !important;
}

body.ys .yinse-shop-layout {
    gap: var(--xn-block-gap) !important;
}

body.ys .yinse-catalog-panel,
body.ys .yinse-inline-item-panel,
body.ys .yinse-item-unified-panel,
body.ys .yinse-description-panel,
body.ys .yinse-item-panel {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

body.ys .yinse-nav,
body.ys .panel,
body.ys .yinse-item-unified-panel,
body.ys .yinse-footer-wrap,
body.ys .yinse-layer-popup,
body.ys .component-popup {
    border: 1px solid var(--xn-line) !important;
    background:
        linear-gradient(180deg, rgba(15, 20, 38, 0.76), rgba(7, 10, 20, 0.58)) !important;
    color: var(--xn-ink) !important;
    box-shadow: var(--xn-shadow) !important;
    backdrop-filter: blur(var(--yinse-container-blur, 20px)) saturate(122%) !important;
    -webkit-backdrop-filter: blur(var(--yinse-container-blur, 20px)) saturate(122%) !important;
}

body.ys .yinse-nav {
    border-radius: 18px !important;

}

body.ys .yinse-nav::after {
    content: "";
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(111, 164, 255, 0.72), rgba(198, 164, 255, 0.58), transparent);
    opacity: 0.58;
}

body.ys .yinse-brand,
body.ys .yinse-brand-name,
body.ys .yinse-nav-link,
body.ys .yinse-user-chip,
body.ys .yinse-user-name,
body.ys .yinse-user-balance,
body.ys .dropdown-item,
body.ys .form-control,
body.ys .yinse-searchbox,
body.ys .yinse-search-combo,
body.ys .yinse-category-name,
body.ys .yinse-commodity-name,
body.ys .yinse-description-body,
body.ys .yinse-notice-popup-inner {
    color: var(--xn-ink) !important;
}

body.ys .yinse-brand-mark,
body.ys .yinse-user-avatar,
body.ys .yinse-current-cat-icon {
    border: 1px solid rgba(111, 164, 255, 0.26) !important;
    box-shadow: 0 0 0 3px rgba(111, 164, 255, 0.06) !important;
}

body.ys .yinse-category-icon,
body.ys .yinse-commodity-thumb {
    border: 0 !important;
    outline: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

body.ys .yinse-current-cat-icon,
body.ys .cyber-static-logo-box,
body.ys .item-cover {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    filter: none !important;
}

body.ys .yinse-brand {
    position: relative;
    isolation: isolate;
    min-height: 48px;
    padding: 5px 14px 5px 6px;
    border: 1px solid transparent;
    border-radius: 15px;
    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        background-color 0.28s ease,
        box-shadow 0.28s ease;
}

body.ys .yinse-brand::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background:
        radial-gradient(circle at 22px 50%, rgba(198, 164, 255, 0.18), transparent 36px),
        radial-gradient(circle at calc(100% - 18px) 18px, rgba(111, 164, 255, 0.16), transparent 42px),
        linear-gradient(135deg, rgba(18, 24, 46, 0.72), rgba(82, 103, 180, 0.22));
    opacity: 0.62;
    transform: scale(0.98);
    transition:
        opacity 0.28s ease,
        transform 0.28s ease;
}

body.ys .yinse-brand::after {
    content: "✦";
    position: absolute;
    right: 7px;
    top: 3px;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(198, 164, 255, 0.20);
    border-radius: 7px;
    background: rgba(10, 14, 28, 0.68);
    color: var(--xn-pink);
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    opacity: 0.78;
    transform: translateY(0) rotate(10deg) scale(0.92);
    transition:
        opacity 0.28s ease,
        transform 0.28s ease;
}

body.ys .yinse-brand-mark {
    position: relative;
    border: 1px solid rgba(111, 164, 255, 0.42) !important;
    background:
        radial-gradient(circle at 50% 20%, rgba(220, 228, 255, 0.58), rgba(14, 18, 34, 0.78)) !important;
    box-shadow:
        0 0 0 3px rgba(184, 196, 255, 0.16),
        0 0 0 6px rgba(111, 164, 255, 0.08),
        0 8px 20px rgba(0, 0, 0, 0.34) !important;
    transform: translateY(0) rotate(0deg);
    transition:
        transform 0.36s cubic-bezier(0.2, 0.9, 0.2, 1.1),
        box-shadow 0.28s ease,
        border-color 0.28s ease,
        filter 0.28s ease;
    animation: yinseBrandAvatarFloat 4.8s ease-in-out infinite;
}

body.ys .yinse-brand-chip {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    padding: 0 22px 0 8px;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
}

body.ys .yinse-brand-chip::before {
    content: "";
    position: absolute;
    left: 8px;
    right: 24px;
    bottom: 3px;
    height: 5px;
    border-radius: 999px;
    background:
        linear-gradient(90deg, rgba(198, 164, 255, 0.34), rgba(111, 164, 255, 0.46), rgba(126, 232, 168, 0.30));
    opacity: 0;
    transform: scaleX(0.24) translateY(2px);
    transform-origin: left center;
    pointer-events: none;
    filter: blur(0.2px);
    transition:
        opacity 0.28s ease,
        transform 0.34s cubic-bezier(0.2, 0.9, 0.2, 1.1);
}

body.ys .yinse-brand-chip::after {
    content: "✦";
    position: absolute;
    right: 9px;
    top: 50%;
    width: 18px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: transparent;
    color: rgba(219, 231, 255, 0.88);
    font-size: 10px;
    line-height: 1;
    opacity: 0.78;
    transform: translateY(-50%);
    text-shadow:
        -7px 3px 0 rgba(198, 164, 255, 0.70),
        7px -2px 0 rgba(141, 216, 255, 0.72),
        0 0 8px rgba(111, 164, 255, 0.30);
    mix-blend-mode: screen;
}

body.ys .yinse-brand-name {
    position: relative;
    z-index: 1;
    color: transparent !important;
    background: linear-gradient(90deg, #eef3ff 0%, #9fb7ff 40%, var(--xn-pink) 72%, #6fa4ff 100%);
    background-size: 180% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    font-size: 1.1rem;
    font-weight: 900;
    text-shadow: 0 6px 18px rgba(0, 0, 0, 0.34);
    transform: translateY(0);
    transition:
        transform 0.28s ease,
        background-position 0.38s ease,
        filter 0.28s ease,
        letter-spacing 0.28s ease;
}

body.ys .yinse-brand:hover,
body.ys .yinse-brand:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(126, 154, 255, 0.22);
    background: rgba(255, 255, 255, 0.20);
    box-shadow:
        0 12px 28px rgba(26, 73, 95, 0.12),
        0 0 18px rgba(111, 164, 255, 0.10);
}

body.ys .yinse-brand:hover::before,
body.ys .yinse-brand:focus-visible::before {
    opacity: 1;
    transform: scale(1);
}

body.ys .yinse-brand:hover::after,
body.ys .yinse-brand:focus-visible::after {
    opacity: 1;
    transform: translateY(-2px) rotate(-8deg) scale(1.1);
}

body.ys .yinse-brand:hover .yinse-brand-mark,
body.ys .yinse-brand:focus-visible .yinse-brand-mark {
    border-color: rgba(198, 164, 255, 0.40) !important;
    box-shadow:
        0 0 0 3px rgba(255, 255, 255, 0.78),
        0 0 0 7px rgba(198, 164, 255, 0.10),
        0 12px 24px rgba(26, 73, 95, 0.16),
        0 0 20px rgba(111, 164, 255, 0.24) !important;
    filter: saturate(1.08);
    animation: yinseBrandLogoShake 0.72s ease both;
}

body.ys .yinse-brand:hover .yinse-brand-chip::before,
body.ys .yinse-brand:focus-visible .yinse-brand-chip::before {
    opacity: 1;
    transform: scaleX(1) translateY(0);
}

body.ys .yinse-brand:hover .yinse-brand-name,
body.ys .yinse-brand:focus-visible .yinse-brand-name {
    transform: translateY(-1px);
    background-position: 100% 50%;
    filter:
        drop-shadow(1px 0 0 rgba(198, 164, 255, 0.22))
        drop-shadow(-1px 0 0 rgba(111, 164, 255, 0.20))
        drop-shadow(0 5px 12px rgba(111, 164, 255, 0.18));
    letter-spacing: 0.018em;
}

@keyframes yinseBrandAvatarFloat {
    0%, 100% {
        transform: translateY(0) rotate(0deg);
    }
    50% {
        transform: translateY(-1.5px) rotate(2deg);
    }
}

@keyframes yinseBrandLogoShake {
    0% {
        transform: translateY(-1px) rotate(0deg) scale(1.04);
    }
    18% {
        transform: translateY(-2px) rotate(-11deg) scale(1.06);
    }
    36% {
        transform: translateY(-2px) rotate(9deg) scale(1.06);
    }
    54% {
        transform: translateY(-1px) rotate(-7deg) scale(1.05);
    }
    72% {
        transform: translateY(-1px) rotate(5deg) scale(1.045);
    }
    100% {
        transform: translateY(-1px) rotate(0deg) scale(1.04);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.ys .yinse-brand-mark {
        animation: none;
    }

    body.ys .yinse-brand:hover .yinse-brand-chip::before,
    body.ys .yinse-brand:focus-visible .yinse-brand-chip::before {
        transition: none;
    }
}

body.ys .yinse-nav-link,
body.ys .yinse-button-light,
body.ys .yinse-user-chip,
body.ys .yinse-searchbox,
body.ys .yinse-search-combo,
body.ys .form-control,
body.ys .qty-group,
body.ys .password-form .input-group,
body.ys .yinse-nav-toggle {
    border-color: rgba(126, 154, 255, 0.22) !important;
    background: rgba(14, 19, 36, 0.74) !important;
    box-shadow: none !important;
}

body.ys .yinse-dropdown-menu {
    border: 1px solid rgba(126, 154, 255, 0.24) !important;
    background:
        radial-gradient(circle at 18px 22px, rgba(198, 164, 255, 0.12), transparent 76px),
        linear-gradient(145deg, rgba(13, 18, 34, 0.96), rgba(24, 31, 58, 0.94)) !important;
    box-shadow:
        0 18px 38px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(219, 231, 255, 0.08) !important;
    backdrop-filter: blur(18px) saturate(128%);
    -webkit-backdrop-filter: blur(18px) saturate(128%);
}

body.ys .yinse-dropdown-menu .dropdown-item {
    color: #dbe7ff !important;
    background: transparent !important;
}

body.ys .yinse-dropdown-menu .dropdown-item i {
    color: #9fb7ff !important;
}

body.ys .yinse-dropdown-menu .dropdown-item:hover,
body.ys .yinse-dropdown-menu .dropdown-item:focus {
    border-color: rgba(126, 154, 255, 0.34) !important;
    background: rgba(22, 29, 54, 0.78) !important;
    color: #ffffff !important;
}

body.ys .yinse-dropdown-menu .dropdown-item:hover i,
body.ys .yinse-dropdown-menu .dropdown-item:focus i {
    color: #8dd8ff !important;
}

body.ys .yinse-dropdown-menu .dropdown-divider {
    border-top-color: rgba(126, 154, 255, 0.18) !important;
    opacity: 1;
}

body.ys .yinse-dropdown-entry-danger .dropdown-item,
body.ys .yinse-dropdown-entry-danger .dropdown-item i {
    color: #ff8fb2 !important;
}

body.ys .yinse-dropdown-entry-danger .dropdown-item:hover,
body.ys .yinse-dropdown-entry-danger .dropdown-item:focus {
    background: rgba(255, 79, 130, 0.12) !important;
    color: #ffd9e5 !important;
}

body.ys .yinse-nav-link:hover,
body.ys .yinse-nav-link.is-active,
body.ys .yinse-button-dark,
body.ys .yinse-commodity-action-link,
body.ys .sku.is-primary,
body.ys .view-card-btn,
body.ys .component-popup .queryBtn,
body.ys .component-popup .query-button {
    border-color: #6f8dff !important;
    background: linear-gradient(135deg, #5678ff, #93a8ff 58%, #5d65b8) !important;
    color: #f4f7ff !important;
    box-shadow: 0 12px 30px rgba(57, 88, 214, 0.34), 0 0 18px rgba(184, 196, 255, 0.16) !important;
}

body.ys .yinse-button-light:hover,
body.ys .yinse-category-link:hover,
body.ys .yinse-category-link.is-active {
    border-color: rgba(126, 154, 255, 0.34) !important;
    background: rgba(22, 29, 54, 0.78) !important;
    color: #dbe7ff !important;
}
body.ys .yinse-nav-toggle .navbar-toggler-icon {
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28219,231,255,0.92%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    background-size: 100% 100% !important;
    filter: drop-shadow(0 0 8px rgba(111, 164, 255, 0.18));
}

body.ys .panel {
    position: relative;
    border-radius: 20px !important;
    overflow: hidden;
}

body.ys .panel::before,
body.ys .yinse-hero-banner--notice::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    top: 0;
    height: 3px;
    z-index: 2;
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(111, 164, 255, 0.74), rgba(198, 164, 255, 0.62), rgba(141, 234, 242, 0.72), transparent);
    opacity: 0.72;
}

body.ys .yinse-hero-banner--notice::after {
    display: block !important;
}

body.ys .panel-header {
    position: relative;
    border-bottom: 1px solid rgba(126, 154, 255, 0.16) !important;
    background:
        linear-gradient(90deg, rgba(18, 24, 46, 0.76), rgba(7, 10, 20, 0.44)) !important;
}

body.ys .panel-header::after,
.yinse-hero-notice-head::after {
    content: "✦";
    position: absolute;
    top: 14px;
    right: 22px;
    width: 30px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: transparent;
    color: rgba(219, 231, 255, 0.92);
    font-size: 13px;
    line-height: 1;
    text-shadow:
        -13px 4px 0 rgba(198, 164, 255, 0.78),
        12px -3px 0 rgba(141, 216, 255, 0.78),
        0 0 10px rgba(111, 164, 255, 0.42),
        -13px 4px 8px rgba(198, 164, 255, 0.24),
        12px -3px 8px rgba(141, 216, 255, 0.24);
    opacity: 0.9;
    mix-blend-mode: screen;
}

body.ys .yinse-catalog-heading::after {
    display: block !important;
    top: 18px;
    right: 18px;
}

body.ys .yinse-catalog-tools {
    position: absolute;
    top: 44px;
    right: 22px;
    width: min(100%, 360px);
    display: flex;
    justify-content: flex-end;
}

body.ys .yinse-catalog-tools::before {
    display: none !important;
}

body.ys .yinse-catalog-tools::after {
    display: none !important;
}

body.ys .panel-kicker,
body.ys .yinse-notice-kicker,
body.ys .yinse-commodity-muted,
body.ys .yinse-footer-copy,
body.ys .yinse-footer-icp {
    color: #9aa6c4 !important;
}

body.ys .panel-title,
body.ys .yinse-index-panel-title,
body.ys .yinse-item-inline-title,
body.ys .yinse-item-price .price,
body.ys .yinse-current-name,
body.ys .panel-title-small {
    color: var(--xn-ink-2) !important;
    text-shadow: none !important;
}

.yinse-banner-shell {
    margin-top: var(--xn-block-gap) !important;
}

body.ys .yinse-hero-banner {
    position: relative;
    min-height: 308px;
    padding: 0 !important;
    border: 1px solid rgba(126, 154, 255, 0.26) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 20% 62%, rgba(0, 173, 255, 0.10), transparent 28%),
        linear-gradient(180deg, rgba(15, 20, 38, 0.76), rgba(7, 10, 20, 0.58)) !important;
    box-shadow:
        var(--xn-shadow),
        inset 0 0 0 1px rgba(184, 196, 255, 0.08),
        inset 0 -64px 96px rgba(0, 0, 0, 0.60) !important;
    backdrop-filter: blur(var(--yinse-container-blur, 20px)) saturate(124%) !important;
    -webkit-backdrop-filter: blur(var(--yinse-container-blur, 20px)) saturate(124%) !important;
    overflow: hidden;
    overflow: clip;
    isolation: isolate;
}

body.ys .yinse-hero-banner--notice {
    display: block !important;
    min-height: 256px;
    padding: 0 !important;
    background:
        linear-gradient(180deg, rgba(15, 20, 38, 0.76), rgba(7, 10, 20, 0.58)) !important;
    backdrop-filter: blur(var(--yinse-container-blur, 20px)) saturate(122%) !important;
    -webkit-backdrop-filter: blur(var(--yinse-container-blur, 20px)) saturate(122%) !important;
    box-shadow: var(--xn-shadow) !important;
}

.yinse-hero-notice-head {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    padding: 13px 20px 12px;
    border-bottom: 1px solid rgba(126, 154, 255, 0.16);
    background:
        linear-gradient(90deg, rgba(18, 24, 46, 0.76), rgba(7, 10, 20, 0.44)) !important;
}

.yinse-hero-notice-title {
    margin: 0;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 8px;
    color: var(--xn-ink) !important;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.yinse-hero-notice-title i {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(126, 154, 255, 0.28);
    border-radius: 999px;
    background: rgba(10, 14, 28, 0.62);
    color: #8fb4ff;
    box-shadow: 0 8px 18px rgba(26, 73, 95, 0.12);
}

.yinse-hero-news.yinse-news-ticker {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 4px 0;
    border: 0 !important;
    color: var(--xn-ink) !important;
    background: transparent !important;
    box-shadow: none !important;
}

.yinse-hero-news .yinse-news-ticker-track {
    font-size: 13px;
    line-height: 1.35;
}

.yinse-hero-notice-body {
    padding: 14px 18px 18px;
    color: var(--xn-ink) !important;
}

.yinse-hero-notice-body > :first-child {
    margin-top: 0 !important;
}

.yinse-hero-notice-body > :last-child {
    margin-bottom: 0 !important;
}

.yinse-hero-media {
    position: absolute;
    inset: -14px -20px;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    border-radius: inherit;
}

.yinse-hero-media-image {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: center var(--yinse-hero-bg-y, 20%);
    user-select: none;
    -webkit-user-drag: none;
    filter: saturate(0.92) contrast(1.04) brightness(0.78);
    transform: translate3d(var(--yinse-hero-shift-x, 0px), var(--yinse-hero-shift-y, 0px), 0) scale(var(--yinse-hero-bg-size, 103%));
    transform-origin: center center;
    will-change: transform;
    backface-visibility: hidden;
}

body.ys .yinse-hero-banner--flip-x .yinse-hero-media-image {
    transform: translate3d(var(--yinse-hero-shift-x, 0px), var(--yinse-hero-shift-y, 0px), 0) scaleX(-1) scale(var(--yinse-hero-bg-size, 103%));
}

body.ys .yinse-hero-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 44%, rgba(83, 228, 255, 0.16), transparent 24%),
        radial-gradient(circle at 76% 54%, rgba(72, 137, 255, 0.16), transparent 34%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.76) 0%, rgba(4, 9, 22, 0.64) 28%, rgba(4, 9, 22, 0.16) 56%, rgba(0, 0, 0, 0.24) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.14), transparent 44%, rgba(0, 0, 0, 0.56));
}

body.ys .yinse-hero-banner--image::after {
    content: "" !important;
    display: block !important;
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    background: radial-gradient(circle 170px at var(--yinse-hero-pointer-x, 50%) var(--yinse-hero-pointer-y, 50%), rgba(178, 240, 255, 0.26), transparent 72%);
    opacity: 0.18;
    transition: opacity 0.24s ease;
}

body.ys .yinse-hero-banner--image:hover::after { opacity: 1; }

body.ys .yinse-hero-banner::after,
body.ys .yinse-hero-banner--notice::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    display: block !important;
    background:
        linear-gradient(120deg, transparent 0 58%, rgba(50, 130, 255, 0.10) 66%, transparent 78%),
        radial-gradient(ellipse at 88% 22%, rgba(122, 171, 255, 0.18), transparent 28%),
        radial-gradient(ellipse at 72% 88%, rgba(83, 228, 255, 0.11), transparent 34%);
    opacity: 0.24;
}

body.ys .yinse-hero-banner--notice::after {
    display: block !important;
}

body.ys .yinse-hero-banner--notice::before {
    display: none !important;
}

.yinse-hero-emblem,
.yinse-hero-orbit,
.yinse-hero-glass,
.yinse-hero-stardust,
.yinse-hero-bottom-light {
    position: absolute;
    pointer-events: none;
    z-index: 3;
}

.yinse-hero-emblem {
    right: clamp(72px, 8vw, 128px);
    top: 42px;
    width: clamp(250px, 25vw, 390px);
    height: clamp(150px, 15vw, 230px);
    opacity: 0.13;
    filter: blur(0.2px) drop-shadow(0 0 28px rgba(95, 157, 255, 0.28));
    background:
        radial-gradient(ellipse at 62% 44%, rgba(174, 222, 255, 0.74) 0 9%, transparent 10%),
        conic-gradient(from 232deg at 55% 50%, transparent 0 18%, rgba(147, 191, 255, 0.86) 19% 33%, transparent 34% 48%, rgba(84, 158, 255, 0.56) 49% 62%, transparent 63% 100%),
        radial-gradient(ellipse at center, transparent 0 34%, rgba(79, 139, 255, 0.66) 35% 43%, transparent 44% 100%);
    clip-path: polygon(17% 22%, 48% 4%, 84% 17%, 96% 52%, 72% 88%, 32% 92%, 4% 62%);
    transform: rotate(-8deg) skewX(-7deg);
    transform-origin: 58% 52%;
    mix-blend-mode: screen;
    animation: yinseHeroEmblemDrift 14s ease-in-out infinite;
}

.yinse-hero-emblem::before,
.yinse-hero-emblem::after {
    content: "";
    position: absolute;
    inset: 18% 14%;
    border: 1px solid rgba(141, 216, 255, 0.62);
    border-radius: 46% 54% 48% 52%;
    transform: rotate(24deg);
}

.yinse-hero-emblem::after {
    inset: 34% 28%;
    border-color: rgba(198, 164, 255, 0.55);
    transform: rotate(-28deg);
}

.yinse-hero-orbit {
    border: 1px solid rgba(118, 174, 255, 0.22);
    border-radius: 50%;
    box-shadow: 0 0 20px rgba(79, 139, 255, 0.10);
    mix-blend-mode: screen;
}

.yinse-hero-orbit-1 {
    right: -92px;
    top: -34px;
    width: 480px;
    height: 218px;
    transform: rotate(-19deg);
    animation: yinseHeroOrbitOne 18s ease-in-out infinite;
}

.yinse-hero-orbit-2 {
    right: 40px;
    top: 56px;
    width: 350px;
    height: 152px;
    border-color: rgba(198, 164, 255, 0.16);
    transform: rotate(17deg);
    animation: yinseHeroOrbitTwo 21s ease-in-out infinite reverse;
}

.yinse-hero-glass {
    width: 260px;
    height: 360px;
    background: linear-gradient(104deg, transparent 0 18%, rgba(91, 184, 255, 0.16) 36%, rgba(151, 127, 255, 0.08) 54%, transparent 76% 100%);
    clip-path: polygon(38% 0, 100% 0, 62% 100%, 0 100%);
    mix-blend-mode: screen;
}

.yinse-hero-glass-1 {
    right: 345px;
    top: -52px;
    opacity: 0.13;
    transform: rotate(5deg);
    animation: yinseHeroGlassOne 12s ease-in-out infinite;
}

.yinse-hero-glass-2 {
    right: 108px;
    top: 10px;
    width: 210px;
    height: 310px;
    opacity: 0.10;
    transform: rotate(11deg);
    animation: yinseHeroGlassTwo 15s ease-in-out infinite reverse;
}

.yinse-hero-stardust {
    right: 52px;
    top: 44px;
    width: 52%;
    height: 74%;
    opacity: 0.58;
    background:
        radial-gradient(circle at 14% 72%, rgba(174, 222, 255, 0.72) 0 1px, transparent 2px),
        radial-gradient(circle at 35% 24%, rgba(111, 164, 255, 0.68) 0 1px, transparent 2px),
        radial-gradient(circle at 62% 34%, rgba(219, 231, 255, 0.76) 0 1px, transparent 2px),
        radial-gradient(circle at 79% 66%, rgba(83, 228, 255, 0.62) 0 1px, transparent 2px),
        linear-gradient(90deg, transparent 8%, rgba(141, 216, 255, 0.18) 8.4%, transparent 8.9% 100%);
    mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
    mix-blend-mode: screen;
    animation: yinseHeroStardustTwinkle 9s ease-in-out infinite;
}

.yinse-hero-bottom-light {
    left: 70px;
    right: 62px;
    bottom: 18px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(126, 154, 255, 0.28) 22%, rgba(190, 240, 255, 0.86) 42%, rgba(78, 168, 255, 0.48) 60%, transparent);
    box-shadow:
        0 0 16px rgba(96, 190, 255, 0.38),
        0 -10px 34px rgba(72, 137, 255, 0.12);
    animation: yinseHeroLightBreath 8.5s ease-in-out infinite;
}

@keyframes yinseHeroLightBreath {
    0%, 100% { opacity: 0.58; transform: translateX(0); }
    50% { opacity: 0.92; transform: translateX(10px); }
}

@keyframes yinseHeroEmblemDrift {
    0%, 100% { opacity: 0.11; transform: translate3d(0, 0, 0) rotate(-8deg) skewX(-7deg); }
    50% { opacity: 0.155; transform: translate3d(-8px, 4px, 0) rotate(-6.6deg) skewX(-7deg); }
}

@keyframes yinseHeroOrbitOne {
    0%, 100% { opacity: 0.78; transform: translate3d(0, 0, 0) rotate(-19deg); }
    50% { opacity: 1; transform: translate3d(-10px, 5px, 0) rotate(-16.5deg); }
}

@keyframes yinseHeroOrbitTwo {
    0%, 100% { opacity: 0.62; transform: translate3d(0, 0, 0) rotate(17deg); }
    50% { opacity: 0.86; transform: translate3d(8px, -4px, 0) rotate(19deg); }
}

@keyframes yinseHeroGlassOne {
    0%, 100% { opacity: 0.11; transform: translate3d(0, 0, 0) rotate(5deg); }
    50% { opacity: 0.16; transform: translate3d(10px, 0, 0) rotate(6deg); }
}

@keyframes yinseHeroGlassTwo {
    0%, 100% { opacity: 0.085; transform: translate3d(0, 0, 0) rotate(11deg); }
    50% { opacity: 0.13; transform: translate3d(-8px, 3px, 0) rotate(9.5deg); }
}

@keyframes yinseHeroStardustTwinkle {
    0%, 100% { opacity: 0.42; transform: translate3d(0, 0, 0); }
    38% { opacity: 0.68; transform: translate3d(4px, -2px, 0); }
    66% { opacity: 0.50; transform: translate3d(-3px, 1px, 0); }
}

/* Replace the old abstract emblem on the banner's right with a compact starfield HUD. */
body.ys .yinse-hero-emblem {
    right: clamp(72px, 8vw, 128px);
    top: 42px;
    width: clamp(250px, 25vw, 390px);
    height: clamp(150px, 15vw, 230px);
    opacity: 0.72;
    filter: none;
    clip-path: none;
    transform: none;
    mix-blend-mode: screen;
    background:
        linear-gradient(90deg, transparent 0 5%, rgba(130, 224, 255, 0.30) 5.3%, transparent 5.6% 100%),
        linear-gradient(0deg, transparent 0 12%, rgba(130, 224, 255, 0.18) 12.4%, transparent 12.8% 100%),
        repeating-linear-gradient(90deg, transparent 0 25px, rgba(159, 225, 255, 0.08) 26px 27px),
        radial-gradient(circle at 18% 74%, rgba(151, 233, 255, 0.88) 0 2px, transparent 3px),
        radial-gradient(circle at 56% 34%, rgba(201, 181, 255, 0.82) 0 2px, transparent 3px),
        radial-gradient(circle at 82% 68%, rgba(244, 231, 210, 0.78) 0 2px, transparent 3px);
    animation: yinseHeroHudPulse 6s ease-in-out infinite;
}

/* Clear the banner's right-side decoration for a clean redesign pass. */
body.ys .yinse-hero-emblem,
body.ys .yinse-hero-orbit,
body.ys .yinse-hero-glass,
body.ys .yinse-hero-stardust,
body.ys .yinse-hero-bottom-light,
body.ys .yinse-hero-banner::after,
body.ys .yinse-hero-banner--image::after,
body.ys .yinse-hero-emblem::before,
body.ys .yinse-hero-emblem::after {
    display: none !important;
    content: none !important;
    background: none !important;
    box-shadow: none !important;
    animation: none !important;
}

/* Compact right-side HUD that complements the artwork without obscuring it. */
body.ys .yinse-hero-banner--image::after { display: block !important; }

body.ys .yinse-hero-title {
    pointer-events: auto !important;
}

body.ys .yinse-hero-pointer-glow {
    position: absolute;
    left: var(--yinse-hero-pointer-x, 50%);
    top: var(--yinse-hero-pointer-y, 50%);
    width: 190px;
    height: 190px;
    z-index: 4;
    pointer-events: none;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(166, 239, 255, 0.28) 0, rgba(111, 210, 255, 0.12) 28%, transparent 72%);
    filter: blur(3px);
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: opacity 0.18s ease, left 0.08s linear, top 0.08s linear;
}

body.ys .yinse-hero-banner--image:hover .yinse-hero-pointer-glow {
    opacity: 1;
}

body.ys .yinse-hero-title.yinse-hero-replay .yinse-hero-glyph {
    animation: yinseHeroGlyphReplay 0.62s cubic-bezier(0.2, 0.82, 0.24, 1) calc(var(--glyph-index) * 28ms) both !important;
}

/* The image may be mirrored, but the decorative HUD must stay on the right. */
body.ys .yinse-hero-right-hud {
    position: absolute;
    right: clamp(30px, 5vw, 90px);
    top: 50%;
    width: clamp(160px, 20vw, 280px);
    height: 120px;
    z-index: 3;
    pointer-events: none;
    opacity: 0.42;
    transform: translateY(-50%);
    background: none;
    border: 0;
    clip-path: none;
    box-shadow: none;
    animation: yinseHeroRightHudPulse 7s ease-in-out infinite;
}

body.ys .yinse-hero-right-hud::before,
body.ys .yinse-hero-right-hud::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-repeat: no-repeat;
}

body.ys .yinse-hero-right-hud::before {
    background:
        radial-gradient(circle at 12% 22%, rgba(230, 250, 255, 0.72) 0 1px, transparent 2px),
        radial-gradient(circle at 30% 68%, rgba(145, 221, 255, 0.5) 0 1px, transparent 2px),
        radial-gradient(circle at 52% 18%, rgba(203, 181, 255, 0.52) 0 1px, transparent 2px),
        radial-gradient(circle at 70% 56%, rgba(230, 250, 255, 0.6) 0 1px, transparent 2px),
        radial-gradient(circle at 90% 32%, rgba(145, 221, 255, 0.5) 0 1px, transparent 2px);
    animation: yinseHeroStarDrift 10s ease-in-out infinite;
}

body.ys .yinse-hero-right-hud::after {
    left: 20%;
    top: 24%;
    width: 58px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(214, 244, 255, 0.95), transparent);
    box-shadow: 0 0 6px rgba(111, 219, 255, 0.54);
    transform: rotate(-25deg);
    transform-origin: left center;
    animation: yinseHeroMeteor 6.5s ease-in-out infinite;
}

@keyframes yinseHeroStarDrift {
    0%, 100% { opacity: 0.42; transform: translate3d(0, 0, 0); }
    50% { opacity: 0.86; transform: translate3d(-4px, 2px, 0); }
}

@keyframes yinseHeroMeteor {
    0%, 48% { opacity: 0; transform: translate3d(24px, -10px, 0) rotate(-25deg) scaleX(0.3); }
    56% { opacity: 0.9; }
    68%, 100% { opacity: 0; transform: translate3d(-24px, 20px, 0) rotate(-25deg) scaleX(1); }
}

body.ys .yinse-hero-banner--image::before {
    background:
        radial-gradient(circle at 18% 44%, rgba(83, 228, 255, 0.16), transparent 24%),
        radial-gradient(circle at 76% 54%, rgba(72, 137, 255, 0.16), transparent 34%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.76) 0%, rgba(4, 9, 22, 0.64) 28%, rgba(4, 9, 22, 0.16) 56%, rgba(0, 0, 0, 0.24) 100%),
        linear-gradient(180deg, rgba(0, 0, 0, 0.14), transparent 44%, rgba(0, 0, 0, 0.56));
}

@keyframes yinseHeroRightHudPulse {
    0%, 100% { opacity: 0.34; transform: translateY(-50%); }
    50% { opacity: 0.68; transform: translateY(-50%); }
}

@media (max-width: 767px) {
    body.ys .yinse-hero-right-hud {
        right: 16px;
        width: 150px;
        height: 82px;
        opacity: 0.48;
    }
}

body.ys .yinse-hero-emblem::before,
body.ys .yinse-hero-emblem::after {
    inset: auto;
    border: 0;
    border-radius: 0;
    transform: none;
}

body.ys .yinse-hero-emblem::before {
    content: "";
    left: 10%;
    right: 8%;
    top: 22%;
    height: 42px;
    border-top: 1px solid rgba(170, 235, 255, 0.58);
    border-bottom: 1px solid rgba(170, 235, 255, 0.18);
    background: linear-gradient(90deg, transparent, rgba(92, 213, 255, 0.14), transparent);
    box-shadow: 0 0 18px rgba(74, 210, 255, 0.22);
}

body.ys .yinse-hero-emblem::after {
    content: "NIGHT // SIGNAL   68%   04:27";
    left: 12%;
    top: 29%;
    color: rgba(221, 247, 255, 0.86);
    font: 700 10px/1.2 Inter, sans-serif;
    letter-spacing: 0.18em;
    white-space: nowrap;
    text-shadow: 0 0 10px rgba(111, 223, 255, 0.62);
}

body.ys .yinse-hero-orbit {
    border-color: rgba(111, 222, 255, 0.32);
    box-shadow: 0 0 22px rgba(77, 210, 255, 0.16);
}

body.ys .yinse-hero-orbit-1 {
    animation: yinseHeroHudOrbitOne 14s linear infinite;
}

body.ys .yinse-hero-orbit-2 {
    border-color: rgba(198, 178, 255, 0.28);
    animation: yinseHeroHudOrbitTwo 18s linear infinite reverse;
}

@keyframes yinseHeroHudPulse {
    0%, 100% { opacity: 0.48; transform: translate3d(0, 0, 0); }
    50% { opacity: 0.86; transform: translate3d(-5px, 2px, 0); }
}

@keyframes yinseHeroHudOrbitOne {
    0% { transform: rotate(-19deg) translateX(0); opacity: 0.44; }
    50% { transform: rotate(-13deg) translateX(-12px); opacity: 0.82; }
    100% { transform: rotate(-19deg) translateX(0); opacity: 0.44; }
}

@keyframes yinseHeroHudOrbitTwo {
    0% { transform: rotate(17deg) translateX(0); opacity: 0.34; }
    50% { transform: rotate(24deg) translateX(10px); opacity: 0.72; }
    100% { transform: rotate(17deg) translateX(0); opacity: 0.34; }
}

@media (prefers-reduced-motion: reduce) {
    .yinse-hero-emblem,
    .yinse-hero-orbit,
    .yinse-hero-glass,
    .yinse-hero-stardust,
    .yinse-hero-bottom-light {
        animation: none !important;
    }
}

.yinse-hero-title {
    position: absolute;
    left: clamp(48px, 5vw, 78px);
    top: 58px;
    bottom: auto;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    max-width: min(620px, calc(100% - 120px));
    padding: 0 0 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
    transform: perspective(720px) translate3d(var(--yinse-hero-text-shift-x, 0px), var(--yinse-hero-text-shift-y, 0px), 0) rotateX(var(--yinse-hero-tilt-x, 0deg)) rotateY(var(--yinse-hero-tilt-y, 0deg));
    animation: yinseHeroTextReveal 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) both;
    transition: transform 0.35s ease, filter 0.35s ease;
}

.yinse-hero-title::after {
    background: linear-gradient(90deg, rgba(141, 216, 255, 0.62), rgba(111, 164, 255, 0.22), transparent);
    background-size: 180% 100%;
    background-position: var(--yinse-hero-glint-x, 50%) 0;
    transition: background-position 0.28s ease;
}

.yinse-hero-glyph {
    display: inline-block;
    font-style: normal;
    opacity: 1;
    transform: translate3d(0, 18px, 0) rotateX(-65deg) rotateZ(calc((var(--glyph-index) % 3 - 1) * 2deg));
    transform-origin: 50% 100%;
    animation: none;
    transition: transform 0.3s ease, color 0.3s ease, text-shadow 0.3s ease;
}

.yinse-hero-banner--image:not(.yinse-hero-text-ready) .yinse-hero-glyph {
    opacity: 0;
    transform: translate3d(0, 18px, 0) rotateX(-65deg) rotateZ(calc((var(--glyph-index) % 3 - 1) * 2deg));
}

.yinse-hero-banner--image.yinse-hero-text-ready .yinse-hero-glyph {
    animation: yinseHeroGlyphIn 0.72s cubic-bezier(0.2, 0.82, 0.24, 1) calc(var(--glyph-index) * 34ms + 80ms) both;
}

.yinse-hero-title:hover .yinse-hero-glyph {
    transform: translate3d(0, -2px, 0) rotateX(0deg) rotateZ(0deg);
}

.yinse-hero-title:hover .yinse-hero-glyph {
    animation: yinseHeroGlyphReplay 0.62s cubic-bezier(0.2, 0.82, 0.24, 1) calc(var(--glyph-index) * 28ms) both;
}

@keyframes yinseHeroGlyphReplay {
    0% { opacity: 0.34; transform: translate3d(0, 14px, 0) rotateX(-54deg) rotateZ(calc((var(--glyph-index) % 3 - 1) * 2deg)); }
    62% { opacity: 1; transform: translate3d(0, -3px, 0) rotateX(8deg) rotateZ(0deg); }
    100% { opacity: 1; transform: translate3d(0, 0, 0) rotateX(0deg) rotateZ(0deg); }
}

@keyframes yinseHeroGlyphIn {
    0% { opacity: 0; transform: translate3d(0, 18px, 0) rotateX(-65deg) rotateZ(calc((var(--glyph-index) % 3 - 1) * 2deg)); }
    68% { opacity: 1; transform: translate3d(0, -3px, 0) rotateX(8deg) rotateZ(0deg); }
    100% { opacity: 1; transform: translate3d(0, 0, 0) rotateX(0deg) rotateZ(0deg); }
}

.yinse-hero-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 6px;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(141, 216, 255, 0.92), rgba(111, 164, 255, 0.36));
    box-shadow: 0 0 16px rgba(111, 164, 255, 0.34);
}

.yinse-hero-title::after {
    content: "";
    position: absolute;
    left: 18px;
    bottom: -12px;
    width: min(520px, 72vw);
    height: 1px;
    background: linear-gradient(90deg, rgba(141, 216, 255, 0.62), rgba(111, 164, 255, 0.22), transparent);
}

.yinse-hero-title span {
    color: #f4fbff;
    font-size: clamp(54px, 5.4vw, 78px);
    font-weight: 950;
    line-height: 0.94;
    letter-spacing: 0;
    text-shadow:
        0 4px 18px rgba(0, 0, 0, 0.76),
        0 0 18px rgba(141, 216, 255, 0.30);
    animation: yinseHeroTitleFloat 5.8s ease-in-out 0.9s infinite;
    transition: text-shadow 0.3s ease, color 0.3s ease;
}

.yinse-hero-title strong {
    color: #82f2ff;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: 0;
    text-shadow:
        0 3px 14px rgba(0, 0, 0, 0.70),
        0 0 14px rgba(83, 228, 255, 0.34);
    animation: yinseHeroSubtitleFloat 6.4s ease-in-out 1.1s infinite;
}

body.ys .yinse-hero-banner--image:hover .yinse-hero-title span {
    color: #ffffff;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.76), 0 0 24px rgba(141, 216, 255, 0.54);
}

@keyframes yinseHeroTextReveal {
    from { opacity: 0; transform: translate3d(0, 10px, 0); filter: blur(4px); }
    to { opacity: 1; transform: translate3d(var(--yinse-hero-text-shift-x, 0px), var(--yinse-hero-text-shift-y, 0px), 0); filter: blur(0); }
}

@keyframes yinseHeroTitleFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px); }
}

@keyframes yinseHeroSubtitleFloat {
    0%, 100% { transform: translateX(0); opacity: 0.92; }
    50% { transform: translateX(2px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .yinse-hero-title,
    .yinse-hero-title span,
    .yinse-hero-title strong {
        animation: none !important;
        transition: none !important;
    }
}

.yinse-hero-banner .container-fluid,
.yinse-hero-banner .yinse-nav-main,
.yinse-hero-banner .cyber-brand-wrapper {
    position: relative;
    z-index: 1;
    width: 100%;
}

.yinse-hero-banner .yinse-nav-main {
    padding: 0 !important;
    border: 0 !important;
}

.yinse-hero-actions {
    position: absolute;
    left: clamp(66px, 5.8vw, 96px);
    right: auto;
    bottom: 50px;
    z-index: 5;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.yinse-hero-actions::before {
    display: none !important;
}

.yinse-hero-actions .cyber-nav-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 14px;
    margin: 0;
}

.yinse-hero-actions .cyber-btn-item {
    min-width: 106px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 17px;
    border: 1px solid rgba(141, 216, 255, 0.40);
    border-radius: 9px;
    background: rgba(8, 15, 30, 0.58);
    color: #dbe7ff !important;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0;
    text-decoration: none !important;
    box-shadow:
        inset 0 1px 0 rgba(219, 231, 255, 0.12),
        0 8px 20px rgba(0, 0, 0, 0.30),
        0 0 14px rgba(111, 164, 255, 0.12);
    backdrop-filter: blur(10px) saturate(126%);
    -webkit-backdrop-filter: blur(10px) saturate(126%);
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

.yinse-hero-actions .cyber-btn-item:hover {
    border-color: rgba(141, 216, 255, 0.72);
    background: rgba(18, 32, 58, 0.72);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow:
        inset 0 1px 0 rgba(219, 231, 255, 0.18),
        0 12px 24px rgba(0, 0, 0, 0.34),
        0 0 18px rgba(111, 164, 255, 0.22);
}

body.ys .yinse-news-ticker {
    border-color: rgba(126, 154, 255, 0.22) !important;
    background: transparent !important;
    color: var(--xn-ink) !important;
    box-shadow: none !important;
}

body.ys .yinse-news-ticker-track span[style] {
    border: 1px solid rgba(198, 164, 255, 0.26) !important;
    background: rgba(18, 22, 42, 0.82) !important;
    color: #d9c7ff !important;
    border-radius: 999px !important;
    box-shadow: 0 6px 16px rgba(198, 164, 255, 0.12) !important;
}

body.ys .yinse-category-link {
    position: relative;
    overflow: hidden;
    border-color: rgba(126, 154, 255, 0.24) !important;
    background:
        linear-gradient(135deg, rgba(18, 24, 46, 0.76), rgba(45, 58, 98, 0.46)) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.16),
        0 8px 18px rgba(0, 0, 0, 0.24),
        0 0 14px rgba(111, 164, 255, 0.08) !important;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease,
        background 0.28s ease,
        color 0.28s ease !important;
}

body.ys .yinse-category-link::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(111, 164, 255, 0.055), transparent 42%),
        radial-gradient(circle at 12% 20%, rgba(198, 164, 255, 0.055), transparent 24%);
    opacity: 0.58;
}

body.ys .yinse-category-link > * {
    position: relative;
    z-index: 1;
}

body.ys .yinse-category-link::after {
    content: "✦";
    position: absolute;
    top: 6px;
    right: 8px;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(10, 14, 28, 0.62);
    color: var(--xn-pink);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    opacity: 0;
    transform: translateY(-5px) rotate(12deg);
    transition: opacity 0.22s ease, transform 0.22s ease;
}

body.ys .yinse-category-link:hover::after,
body.ys .yinse-category-link.is-active::after {
    opacity: 1;
    transform: translateY(0) rotate(0deg);
}

body.ys .yinse-category-link:hover,
body.ys .yinse-category-link.is-active {
    border-color: rgba(126, 154, 255, 0.38) !important;
    background:
        linear-gradient(135deg, rgba(27, 36, 68, 0.90), rgba(70, 86, 143, 0.56)) !important;
    box-shadow:
        0 12px 24px rgba(0, 0, 0, 0.30),
        0 0 18px rgba(111, 164, 255, 0.18) !important;
}

body.ys .yinse-category-link.is-active:hover {
    transform: translateY(-5px) scale(1.018);
    border-color: rgba(198, 164, 255, 0.42) !important;
    background:
        radial-gradient(circle at 16px 14px, rgba(198, 164, 255, 0.12), transparent 68px),
        linear-gradient(135deg, rgba(34, 42, 82, 0.96), rgba(88, 98, 158, 0.62)) !important;
    box-shadow:
        0 14px 28px rgba(0, 0, 0, 0.34),
        0 0 0 2px rgba(198, 164, 255, 0.10),
        0 0 18px rgba(111, 164, 255, 0.17) !important;
}

body.ys .yinse-category-link.is-active:hover::after {
    transform: translateY(-1px) rotate(10deg) scale(1.12);
}

body.ys .yinse-category-tree.is-floating .yinse-category-row {
    animation-name: yinseCategoryBuoy !important;
    animation-timing-function: cubic-bezier(0.42, 0, 0.26, 1) !important;
    transform-origin: 50% 62%;
}

body.ys .yinse-category-tree.is-floating .yinse-category-row:hover,
body.ys .yinse-category-tree.is-floating .yinse-category-row:has(.yinse-category-link.is-active) {
    animation-play-state: paused;
}

@keyframes yinseCategoryBuoy {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
    }
    16% {
        transform:
            translate3d(calc(var(--yinse-category-float-x1, 2px) * 0.45), calc(var(--yinse-category-float-y1, -3px) * 0.35), 0)
            rotate(calc(var(--yinse-category-float-r1, 0.35deg) * 0.45))
            scale(1.006);
    }
    38% {
        transform:
            translate3d(var(--yinse-category-float-x1, 2px), var(--yinse-category-float-y1, -3px), 0)
            rotate(var(--yinse-category-float-r1, 0.35deg))
            scale(1.012);
    }
    58% {
        transform:
            translate3d(calc(var(--yinse-category-float-x2, -3px) * 0.74), calc(var(--yinse-category-float-y2, 2px) * 0.82), 0)
            rotate(calc(var(--yinse-category-float-r2, -0.35deg) * 0.82))
            scale(1.004);
    }
    78% {
        transform:
            translate3d(var(--yinse-category-float-x3, 2px), var(--yinse-category-float-y3, 3px), 0)
            rotate(calc(var(--yinse-category-float-r2, -0.35deg) * -0.42))
            scale(1.01);
    }
}

body.ys .yinse-table-wrap,
body.ys .yinse-card-catalog-wrap,
body.ys .yinse-commodity-card,
body.ys .component-popup .fixed-table-container,
body.ys .component-popup .mcy-card {
    border-color: rgba(126, 154, 255, 0.18) !important;
    background: rgba(9, 13, 26, 0.58) !important;
    box-shadow: none !important;
    backdrop-filter: blur(var(--yinse-container-blur, 20px)) saturate(118%) !important;
    -webkit-backdrop-filter: blur(var(--yinse-container-blur, 20px)) saturate(118%) !important;
}

body.ys .yinse-commodity-table thead th,
body.ys .component-popup .bootstrap-table .fixed-table-container .table thead th {
    background: rgba(22, 29, 54, 0.72) !important;
    color: var(--xn-ink-2) !important;
}

body.ys .item-list .yinse-commodity-row:hover,
body.ys .yinse-commodity-card:hover,
body.ys .yinse-commodity-card.is-inline-active {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 9px !important;
}

body.ys .yinse-commodity-card .row-inner {
    position: relative;
    overflow: hidden;
}

body.ys .yinse-commodity-card:hover .row-inner,
body.ys .yinse-commodity-card.is-inline-active .row-inner {
    transform: translateY(-4px) !important;
    border-color: rgba(111, 164, 255, 0.36) !important;
    background:
        radial-gradient(circle at 18px 16px, rgba(198, 164, 255, 0.08), transparent 72px),
        linear-gradient(135deg, rgba(22, 29, 54, 0.84), rgba(62, 74, 120, 0.54)) !important;
    box-shadow:
        0 14px 28px rgba(0, 0, 0, 0.34),
        0 0 18px rgba(111, 164, 255, 0.13) !important;
}

body.ys .yinse-commodity-card.is-inline-active .row-inner {
    border-color: rgba(198, 164, 255, 0.46) !important;
    background:
        radial-gradient(circle at 18px 16px, rgba(198, 164, 255, 0.13), transparent 76px),
        radial-gradient(circle at calc(100% - 18px) 20px, rgba(111, 164, 255, 0.13), transparent 82px),
        linear-gradient(135deg, rgba(28, 36, 70, 0.94), rgba(72, 84, 136, 0.58)) !important;
    box-shadow:
        inset 0 0 0 1px rgba(184, 196, 255, 0.18),
        inset 0 0 0 2px rgba(111, 164, 255, 0.12),
        0 15px 30px rgba(0, 0, 0, 0.38),
        0 0 0 2px rgba(198, 164, 255, 0.12),
        0 0 20px rgba(111, 164, 255, 0.16) !important;
}

body.ys .yinse-commodity-card.is-inline-active:hover .row-inner {
    transform: translateY(-4px) !important;
    border-color: rgba(198, 164, 255, 0.62) !important;
    background:
        radial-gradient(circle at 18px 16px, rgba(198, 164, 255, 0.17), transparent 82px),
        radial-gradient(circle at calc(100% - 18px) 20px, rgba(111, 164, 255, 0.17), transparent 88px),
        linear-gradient(135deg, rgba(35, 45, 86, 0.98), rgba(92, 102, 166, 0.66)) !important;
    box-shadow:
        inset 0 0 0 1px rgba(184, 196, 255, 0.24),
        inset 0 0 0 2px rgba(111, 164, 255, 0.16),
        0 18px 36px rgba(0, 0, 0, 0.42),
        0 0 0 2px rgba(198, 164, 255, 0.18),
        0 0 26px rgba(111, 164, 255, 0.22) !important;
}

body.ys .yinse-commodity-card.is-inline-active:hover .row-inner::before {
    transform: translateY(0) rotate(0deg);
}

body.ys .yinse-commodity-card .row-inner::before {
    content: "✦";
    position: absolute;
    top: 8px;
    right: 8px;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(10, 14, 28, 0.62);
    color: var(--xn-pink);
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    opacity: 0;
    transform: translateY(-5px) rotate(12deg);
    transition: opacity 0.22s ease, transform 0.22s ease;
}

body.ys .yinse-commodity-card:hover .row-inner::before,
body.ys .yinse-commodity-card.is-inline-active .row-inner::before {
    opacity: 1;
    transform: translateY(0) rotate(0deg);
}

body.ys .yinse-commodity-thumb,
body.ys .yinse-category-icon {
    border: 0 !important;
    outline: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    filter: none !important;
}

body.ys .yinse-commodity-thumb {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    background-origin: border-box;
    box-shadow: none !important;
    transition:
        transform 0.34s cubic-bezier(0.2, 0.9, 0.2, 1.1),
        filter 0.34s ease,
        box-shadow 0.34s ease,
        border-color 0.34s ease !important;
}

body.ys .yinse-commodity-thumb::before,
body.ys .yinse-commodity-thumb::after {
    content: none;
}

body.ys .yinse-card-logo-border-off .yinse-commodity-thumb {
    border-color: transparent !important;
    outline: 0 !important;
}

body.ys .yinse-card-logo-border-off .yinse-card-logo-motion .yinse-commodity-card:hover .yinse-commodity-thumb,
body.ys .yinse-card-logo-border-off .yinse-card-logo-motion .yinse-commodity-card:focus-within .yinse-commodity-thumb,
body.ys .yinse-card-logo-border-off .yinse-card-logo-motion .yinse-commodity-card.is-inline-active .yinse-commodity-thumb {
    border-color: transparent !important;
}

body.ys .yinse-card-logo-glow-off .yinse-commodity-thumb {
    box-shadow: none !important;
}

body.ys .yinse-card-logo-glow-off .yinse-card-logo-motion .yinse-commodity-card:hover .yinse-commodity-thumb::after,
body.ys .yinse-card-logo-glow-off .yinse-card-logo-motion .yinse-commodity-card:focus-within .yinse-commodity-thumb::after,
body.ys .yinse-card-logo-glow-off .yinse-card-logo-motion .yinse-commodity-card.is-inline-active .yinse-commodity-thumb::after {
    opacity: 0;
}

@property --yinse-logo-hue {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

@property --yinse-logo-sat {
    syntax: "<number>";
    inherits: false;
    initial-value: 1;
}

@property --yinse-logo-y {
    syntax: "<length>";
    inherits: false;
    initial-value: 0px;
}

@property --yinse-logo-scale {
    syntax: "<number>";
    inherits: false;
    initial-value: 1;
}

@property --yinse-logo-tilt {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

@property --yinse-logo-turn {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}

body.ys .yinse-card-logo-motion .yinse-commodity-card:hover .yinse-commodity-thumb,
body.ys .yinse-card-logo-motion .yinse-commodity-card:focus-within .yinse-commodity-thumb,
body.ys .yinse-card-logo-motion .yinse-commodity-card.is-inline-active .yinse-commodity-thumb {
    --yinse-logo-hue: 0deg;
    --yinse-logo-sat: 1.34;
    --yinse-logo-y: 0px;
    --yinse-logo-scale: 1;
    --yinse-logo-tilt: 0deg;
    --yinse-logo-turn: 0deg;
    animation: yinseLogoHoloCardTilt 2.45s ease-in-out infinite !important;
    border: 0 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    filter: saturate(var(--yinse-logo-sat)) contrast(1.08) brightness(1.08) hue-rotate(var(--yinse-logo-hue)) !important;
    transform:
        perspective(260px)
        translate3d(0, var(--yinse-logo-y), 0)
        rotateY(var(--yinse-logo-turn))
        rotateZ(var(--yinse-logo-tilt))
        scale(var(--yinse-logo-scale)) !important;
    transform-origin: center center !important;
    transition: transform 0.24s ease, filter 0.24s ease !important;
}

body.ys .yinse-card-logo-motion .yinse-commodity-thumb {
    transform:
        perspective(260px)
        translate3d(0, 0, 0)
        rotateY(0deg)
        rotateZ(0deg)
        scale(1) !important;
    transition:
        transform 0.34s cubic-bezier(0.2, 0.8, 0.2, 1),
        filter 0.34s ease !important;
}

body.ys .yinse-card-logo-motion .yinse-commodity-card:hover .yinse-commodity-thumb::before,
body.ys .yinse-card-logo-motion .yinse-commodity-card:hover .yinse-commodity-thumb::after,
body.ys .yinse-card-logo-motion .yinse-commodity-card:focus-within .yinse-commodity-thumb::before,
body.ys .yinse-card-logo-motion .yinse-commodity-card:focus-within .yinse-commodity-thumb::after,
body.ys .yinse-card-logo-motion .yinse-commodity-card.is-inline-active .yinse-commodity-thumb::before,
body.ys .yinse-card-logo-motion .yinse-commodity-card.is-inline-active .yinse-commodity-thumb::after {
    animation: none !important;
    opacity: 0;
}

@keyframes yinseLogoHoloCardTilt {
    0% {
        --yinse-logo-hue: 0deg;
        --yinse-logo-sat: 1.20;
        --yinse-logo-y: 0px;
        --yinse-logo-scale: 1;
        --yinse-logo-tilt: 0deg;
        --yinse-logo-turn: 0deg;
    }
    18% {
        --yinse-logo-hue: 34deg;
        --yinse-logo-sat: 1.38;
        --yinse-logo-y: -1px;
        --yinse-logo-scale: 1.018;
        --yinse-logo-tilt: -2deg;
        --yinse-logo-turn: -4deg;
    }
    35% {
        --yinse-logo-hue: 82deg;
        --yinse-logo-sat: 1.58;
        --yinse-logo-y: -2px;
        --yinse-logo-scale: 1.045;
        --yinse-logo-tilt: 5deg;
        --yinse-logo-turn: 9deg;
    }
    70% {
        --yinse-logo-hue: 190deg;
        --yinse-logo-sat: 1.46;
        --yinse-logo-y: -1px;
        --yinse-logo-scale: 1.025;
        --yinse-logo-tilt: -2deg;
        --yinse-logo-turn: 4deg;
    }
    100% {
        --yinse-logo-hue: 360deg;
        --yinse-logo-sat: 1.20;
        --yinse-logo-y: 0px;
        --yinse-logo-scale: 1;
        --yinse-logo-tilt: 0deg;
        --yinse-logo-turn: 0deg;
    }
}

body.ys .yinse-pill,
body.ys .badge-soft,
body.ys .badge-soft-primary {
    border-color: rgba(126, 154, 255, 0.18) !important;
    background: rgba(18, 24, 46, 0.78) !important;
    color: #dbe7ff !important;
}

body.ys .badge-money {
    --yinse-badge-money-bg: #10162a !important;
    --yinse-badge-money-border: rgba(126, 154, 255, 0.30) !important;
    color: #dbe7ff !important;
}

body.ys .status-badge.status-paid,
body.ys .badge-soft-success {
    background: rgba(35, 185, 135, 0.14) !important;
    color: #16835f !important;
}

body.ys .goods-sku.a-badge-warning {
    background: rgba(240, 170, 56, 0.16) !important;
    color: #9b6716 !important;
}

/* Item purchase panel: badges, price, sku and form controls. */
body.ys .yinse-item-form-wrap {
    color: var(--xn-ink);
}

body.ys .yinse-item-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 16px;
}

body.ys .yinse-item-badges .badge-soft,
body.ys .badge-soft,
body.ys .yinse-pill,
body.ys .snap-up,
body.ys .goods-sku,
body.ys .a-badge-primary,
body.ys .a-badge-warning,
body.ys .a-badge-success,
body.ys .a-badge-danger {
    position: relative;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 5px 11px !important;
    border: 1px solid rgba(126, 154, 255, 0.24) !important;
    border-radius: 9px !important;
    background:
        radial-gradient(circle at 10px 8px, rgba(198, 164, 255, 0.08), transparent 34px),
        linear-gradient(135deg, rgba(18, 24, 46, 0.84), rgba(56, 68, 112, 0.58)) !important;
    color: #dbe7ff !important;
    font-size: 0.82rem !important;
    font-weight: 850 !important;
    line-height: 1.2;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.16),
        0 8px 16px rgba(0, 0, 0, 0.24),
        0 0 12px rgba(111, 164, 255, 0.08) !important;
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease,
        color 0.22s ease;
}

body.ys .yinse-item-badges .badge-soft::after {
    content: "✦";
    width: 14px;
    height: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 1px;
    border-radius: 5px;
    background: rgba(10, 14, 28, 0.62);
    color: var(--xn-pink);
    font-size: 10px;
    line-height: 1;
    transform: rotate(-8deg);
}

body.ys .yinse-item-badges .badge-soft:hover,
body.ys .yinse-pill:hover,
body.ys .goods-sku:hover,
body.ys .a-badge-primary:hover,
body.ys .a-badge-warning:hover,
body.ys .a-badge-success:hover,
body.ys .a-badge-danger:hover {
    transform: translateY(-2px);
    border-color: rgba(111, 164, 255, 0.44) !important;
    background:
        radial-gradient(circle at 10px 8px, rgba(198, 164, 255, 0.13), transparent 38px),
        linear-gradient(135deg, rgba(28, 36, 70, 0.94), rgba(84, 98, 156, 0.66)) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.24),
        0 12px 24px rgba(0, 0, 0, 0.32),
        0 0 14px rgba(111, 164, 255, 0.10) !important;
}

body.ys .badge-soft-success {
    border-color: rgba(35, 185, 135, 0.24) !important;
    color: #16835f !important;
}

body.ys .badge-soft-danger,
body.ys .a-badge-danger {
    border-color: rgba(255, 79, 130, 0.28) !important;
    background:
        radial-gradient(circle at 10px 8px, rgba(198, 164, 255, 0.12), transparent 34px),
        linear-gradient(135deg, rgba(36, 24, 48, 0.90), rgba(78, 56, 96, 0.62)) !important;
    color: #c23f72 !important;
}

body.ys .badge-soft-info,
body.ys .shared-button {
    cursor: pointer;
}

body.ys .yinse-item-price {
    position: relative;
    margin: 8px 0 18px;
    padding: 14px 16px;
    overflow: hidden;
    border: 1px solid rgba(126, 154, 255, 0.18);
    border-radius: 14px;
    background:
        radial-gradient(circle at 24px 16px, rgba(198, 164, 255, 0.11), transparent 72px),
        linear-gradient(135deg, rgba(14, 19, 36, 0.86), rgba(48, 60, 102, 0.52));
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.18),
        0 14px 30px rgba(0, 0, 0, 0.34),
        0 0 18px rgba(111, 164, 255, 0.12);
}

body.ys .yinse-item-price::after {
    content: "✦";
    position: absolute;
    right: 12px;
    top: 10px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(198, 164, 255, 0.20);
    border-radius: 7px;
    background: rgba(10, 14, 28, 0.62);
    color: var(--xn-pink);
    font-size: 13px;
    transform: rotate(8deg);
}

body.ys .yinse-item-price .price {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    margin: 0;
    color: #11c986 !important;
    font-size: clamp(2rem, 4vw, 3.1rem) !important;
    font-weight: 950 !important;
    line-height: 1;
    letter-spacing: 0;
    text-shadow: 0 10px 28px rgba(17, 201, 134, 0.28), 0 0 18px rgba(17, 201, 134, 0.18) !important;
}

body.ys .yinse-item-price .unit {
    color: #8dd8ff;
    font-size: 0.48em;
    font-weight: 950;
}

body.ys .yinse-form-stack {
    gap: 14px !important;
}

body.ys .yinse-field {
    position: relative;
    padding: 13px;
    border: 1px solid rgba(126, 154, 255, 0.14);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(12, 16, 31, 0.76), rgba(39, 50, 88, 0.42));
    box-shadow: inset 0 1px 0 rgba(184, 196, 255, 0.14), 0 8px 18px rgba(0, 0, 0, 0.20);
}

body.ys .yinse-field .form-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 9px !important;
    color: #9bbcff !important;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.06em;
}

body.ys .yinse-field .form-label::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--xn-hair);
    box-shadow: 0 0 0 4px rgba(111, 164, 255, 0.12);
}

body.ys .sku-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding-top: 2px !important;
}

body.ys .sku {
    position: relative;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 13px !important;
    border: 1px solid rgba(126, 154, 255, 0.24) !important;
    border-radius: 10px !important;
    background:
        linear-gradient(135deg, rgba(16, 22, 42, 0.82), rgba(48, 60, 102, 0.48)) !important;
    color: var(--xn-ink-2) !important;
    font-weight: 900 !important;
    line-height: 1.25;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.16),
        0 8px 18px rgba(0, 0, 0, 0.24) !important;
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease,
        color 0.22s ease;
}

body.ys .sku:hover {
    transform: translateY(-3px);
    border-color: rgba(111, 164, 255, 0.48) !important;
    background:
        radial-gradient(circle at 10px 9px, rgba(198, 164, 255, 0.10), transparent 36px),
        linear-gradient(135deg, rgba(29, 38, 72, 0.94), rgba(84, 98, 156, 0.64)) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.24),
        0 12px 24px rgba(0, 0, 0, 0.34),
        0 0 16px rgba(111, 164, 255, 0.12) !important;
}

body.ys .sku.is-primary {
    border-color: #6f8dff !important;
    background: linear-gradient(135deg, #5678ff, #93a8ff 58%, #5d65b8) !important;
    color: #f4f7ff !important;
    box-shadow:
        0 12px 28px rgba(57, 88, 214, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
}

body.ys .sku.is-primary:hover {
    transform: translateY(-3px) scale(1.015);
    box-shadow:
        0 16px 34px rgba(57, 88, 214, 0.42),
        0 0 20px rgba(111, 164, 255, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.30) !important;
}

body.ys .sku-label {
    position: relative;
    z-index: 1;
}

body.ys .badge-money {
    min-height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 7px !important;
    border: 1px solid rgba(198, 164, 255, 0.22) !important;
    border-radius: 7px !important;
    background: rgba(12, 16, 31, 0.86) !important;
    color: #d9c7ff !important;
    font-size: 0.72rem !important;
    font-weight: 950 !important;
    line-height: 1;
    box-shadow: 0 5px 12px rgba(198, 164, 255, 0.10) !important;
}

body.ys .sku.is-primary .badge-money {
    color: #dbe7ff !important;
    background: rgba(12, 16, 31, 0.86) !important;
}

body.ys .yinse-form-stack .form-control,
body.ys .yinse-form-stack input.form-control,
body.ys .yinse-form-stack input.captcha-input,
body.ys .yinse-captcha-group,
body.ys .qty-group,
body.ys .password-form .input-group {
    min-height: 42px;
    border: 1px solid rgba(126, 154, 255, 0.24) !important;
    border-radius: 12px !important;
    background: rgba(12, 16, 31, 0.82) !important;
    color: var(--xn-ink) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.16),
        0 8px 18px rgba(0, 0, 0, 0.22) !important;
    transition:
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease,
        transform 0.22s ease;
}

body.ys .yinse-form-stack .form-control:focus,
body.ys .yinse-form-stack input.captcha-input:focus {
    border-color: rgba(111, 164, 255, 0.56) !important;
    background: rgba(12, 16, 31, 0.86) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.24),
        0 0 0 4px rgba(111, 164, 255, 0.12),
        0 10px 22px rgba(0, 0, 0, 0.28) !important;
    outline: 0 !important;
}

body.ys .yinse-form-stack .form-control::placeholder,
body.ys .yinse-form-stack input.captcha-input::placeholder,
body.ys .password-form .form-control::placeholder,
body.ys .card-password-section .form-control::placeholder {
    color: rgba(219, 231, 255, 0.74) !important;
}

body.ys .qty-group {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    gap: 6px;
    padding: 5px !important;
    align-items: center !important;
}

body.ys .qty-group .form-control {
    min-height: 34px;
    height: 34px;
    border: 0 !important;
    border-radius: 9px !important;
    background: rgba(26, 34, 62, 0.78) !important;
    box-shadow: none !important;
    font-weight: 900;
}

body.ys .change-num-sub,
body.ys .change-num-add {
    width: 34px;
    height: 34px;
    padding: 0 !important;
    margin: 0 !important;
    align-self: center;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(126, 154, 255, 0.26) !important;
    border-radius: 9px !important;
    background:
        linear-gradient(135deg, rgba(24, 32, 62, 0.88), rgba(66, 80, 132, 0.58)) !important;
    color: #dbe7ff !important;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.26) !important;
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}

body.ys .change-num-sub:hover,
body.ys .change-num-add:hover {
    transform: translateY(-2px);
    border-color: rgba(111, 164, 255, 0.50) !important;
    background: linear-gradient(135deg, #5678ff, #93a8ff) !important;
    color: #f4f7ff !important;
    box-shadow: 0 10px 22px rgba(57, 88, 214, 0.34), 0 0 16px rgba(184, 196, 255, 0.16) !important;
}

body.ys .optional-card,
body.ys .view-card-btn {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    border: 1px solid rgba(126, 154, 255, 0.26) !important;
    border-radius: 12px !important;
    background:
        radial-gradient(circle at 14px 10px, rgba(198, 164, 255, 0.10), transparent 42px),
        linear-gradient(135deg, rgba(18, 24, 46, 0.84), rgba(62, 74, 120, 0.58)) !important;
    color: #dbe7ff !important;
    font-weight: 900;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.18),
        0 10px 20px rgba(0, 0, 0, 0.30) !important;
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease;
}

body.ys .optional-card:hover,
body.ys .view-card-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(111, 164, 255, 0.50) !important;
    background:
        radial-gradient(circle at 14px 10px, rgba(198, 164, 255, 0.15), transparent 48px),
        linear-gradient(135deg, rgba(30, 40, 76, 0.96), rgba(88, 102, 166, 0.68)) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.24),
        0 14px 26px rgba(0, 0, 0, 0.36),
        0 0 18px rgba(111, 164, 255, 0.18) !important;
}

body.ys .yinse-captcha-group {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px !important;
}

body.ys .yinse-captcha-group .form-control {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.ys .captcha-img,
body.ys .input-group-text.captcha-img {
    min-width: 104px;
    height: 34px;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid rgba(126, 154, 255, 0.22) !important;
    border-radius: 9px !important;
    background: rgba(18, 24, 46, 0.76) !important;
}

body.ys .wholesale-table,
body.ys table.wholesale-table {
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(126, 154, 255, 0.20) !important;
    border-radius: 14px !important;
    background: rgba(13, 18, 34, 0.76) !important;
    --bs-table-bg: transparent !important;
    --bs-table-color: var(--xn-ink) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.70),
        0 8px 18px rgba(26, 73, 95, 0.07) !important;
}

body.ys .wholesale-table th,
body.ys .wholesale-table td {
    border-color: rgba(126, 154, 255, 0.14) !important;
    background: transparent !important;
    color: var(--xn-ink) !important;
}

body.ys .cash-pay {
    padding: 13px;
    border: 1px solid rgba(126, 154, 255, 0.14);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(12, 16, 31, 0.76), rgba(39, 50, 88, 0.42));
}

body.ys .cash-pay > .form-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #9bbcff !important;
    font-weight: 900;
}

body.ys .pay-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

body.ys .pay-list .pay {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 6px 12px;
    border: 1px solid rgba(126, 154, 255, 0.24);
    border-radius: 12px;
    background:
        linear-gradient(135deg, rgba(16, 22, 42, 0.82), rgba(54, 66, 112, 0.52));
    color: #dbe7ff;
    font-weight: 900;
    box-shadow: 0 6px 16px rgba(26, 73, 95, 0.07);
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease;
}

body.ys .pay-list .pay img {
    width: 24px;
    height: 24px;
    border-radius: 8px;
    object-fit: cover;
}

body.ys .pay-list .pay:hover,
body.ys .pay-list .pay.active,
body.ys .pay-list .pay.pay-selected {
    transform: translateY(-2px);
    border-color: rgba(111, 164, 255, 0.50);
    background: linear-gradient(135deg, #5678ff, #93a8ff) !important;
    color: #ffffff;
    box-shadow: 0 12px 26px rgba(18, 158, 181, 0.22);
}

/* Order lookup heading. */
body.ys .yinse-query-panel {
    overflow: hidden;
}

body.ys .yinse-query-heading {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 13px;
    min-height: 92px;
    padding: 17px 20px !important;
    overflow: hidden;
    border-bottom: 1px solid rgba(126, 154, 255, 0.16) !important;
    background:
        radial-gradient(circle at 22px 18px, rgba(198, 164, 255, 0.12), transparent 72px),
        linear-gradient(90deg, rgba(18, 24, 46, 0.82), rgba(7, 10, 20, 0.44)) !important;
}

body.ys .yinse-query-heading-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(126, 154, 255, 0.26);
    border-radius: 12px;
    background: rgba(10, 14, 28, 0.62);
    color: #8fb4ff;
    font-size: 17px;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(26, 73, 95, 0.10);
    flex: 0 0 auto;
}

body.ys .yinse-query-heading::after {
    content: "✦";
    position: absolute;
    right: 22px;
    top: 14px;
    width: 30px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
    background: transparent;
    color: rgba(219, 231, 255, 0.92);
    font-size: 13px;
    line-height: 1;
    text-shadow:
        -13px 4px 0 rgba(198, 164, 255, 0.78),
        12px -3px 0 rgba(141, 216, 255, 0.78),
        0 0 10px rgba(111, 164, 255, 0.42),
        -13px 4px 8px rgba(198, 164, 255, 0.24),
        12px -3px 8px rgba(141, 216, 255, 0.24);
    opacity: 0.9;
    mix-blend-mode: screen;
}

body.ys .yinse-query-heading-copy {
    min-width: 0;
    display: grid;
    gap: 4px;
}

body.ys .yinse-query-heading .panel-kicker {
    margin: 0;
    color: #9aa6c4 !important;
    font-size: 0.66rem;
    letter-spacing: 0.12em;
}

body.ys .yinse-query-title {
    margin: 0;
    color: var(--xn-ink-2) !important;
    font-size: clamp(1.28rem, 2.2vw, 1.72rem);
    line-height: 1.05;
    font-weight: 950;
    text-shadow: none !important;
}

body.ys .yinse-query-summary {
    margin: 0;
    max-width: 560px;
    color: #9aa6c4 !important;
    font-size: 0.84rem;
    line-height: 1.45;
}

body.ys .yinse-query-form .form-control::placeholder {
    color: rgba(219, 231, 255, 0.72) !important;
}

/* Order lookup results. */
body.ys .order-results .panel-body {
    padding: 18px;
}

body.ys .order-list {
    display: grid;
    gap: 14px;
}

body.ys .order-item {
    position: relative;
    overflow: hidden;
    padding: 16px !important;
    border: 1px solid rgba(126, 154, 255, 0.22) !important;
    border-radius: 16px !important;
    background:
        radial-gradient(circle at 24px 20px, rgba(198, 164, 255, 0.10), transparent 86px),
        linear-gradient(135deg, rgba(16, 22, 42, 0.84), rgba(58, 70, 116, 0.54)) !important;
    color: var(--xn-ink);
    box-shadow:
        inset 0 1px 0 rgba(141, 216, 255, 0.16),
        0 12px 28px rgba(0, 0, 0, 0.30),
        0 0 18px rgba(111, 164, 255, 0.08) !important;
    transition:
        transform 0.24s ease,
        border-color 0.24s ease,
        background 0.24s ease,
        box-shadow 0.24s ease;
}

body.ys .order-item::before {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    top: 0;
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, var(--xn-pink), var(--xn-hair), #8dd8ff);
    opacity: 0.72;
}

body.ys .order-item::after {
    content: "✦";
    position: absolute;
    top: 12px;
    right: 14px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(198, 164, 255, 0.22);
    border-radius: 7px;
    background: rgba(10, 14, 28, 0.62);
    color: var(--xn-pink);
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    transform: rotate(8deg);
}

body.ys .order-item:hover {
    transform: translateY(-3px);
    border-color: rgba(198, 164, 255, 0.34) !important;
    background:
        radial-gradient(circle at 24px 20px, rgba(198, 164, 255, 0.14), transparent 92px),
        linear-gradient(135deg, rgba(30, 40, 76, 0.96), rgba(84, 98, 156, 0.68)) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.24),
        0 18px 36px rgba(0, 0, 0, 0.42),
        0 0 22px rgba(111, 164, 255, 0.12) !important;
}

body.ys .order-header,
body.ys .goods-section {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
}

body.ys .order-header {
    padding: 4px 30px 14px 0;
    border-bottom: 1px solid rgba(111, 164, 255, 0.18);
}

body.ys .order-left {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

body.ys .order-status {
    flex: 0 0 auto;
}

body.ys .status-badge,
body.ys .shipment-badge {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 5px 11px !important;
    border: 1px solid rgba(126, 154, 255, 0.24) !important;
    border-radius: 9px !important;
    background:
        linear-gradient(135deg, rgba(18, 24, 46, 0.84), rgba(56, 68, 112, 0.58)) !important;
    color: #dbe7ff !important;
    font-size: 0.82rem !important;
    font-weight: 900 !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.16),
        0 8px 16px rgba(0, 0, 0, 0.24),
        0 0 12px rgba(111, 164, 255, 0.08) !important;
}

body.ys .status-badge.status-paid,
body.ys .shipment-badge.shipment-paid {
    border-color: rgba(35, 185, 135, 0.26) !important;
    background:
        linear-gradient(135deg, rgba(18, 34, 42, 0.90), rgba(54, 92, 96, 0.58)) !important;
    color: #16835f !important;
}

body.ys .order-basic {
    display: grid;
    gap: 5px;
    min-width: 0;
    color: #c5d1f4;
    font-size: 0.88rem;
    font-weight: 750;
}

body.ys .order-no {
    color: var(--xn-ink-2);
    font-size: 1rem;
    font-weight: 950;
    word-break: break-all;
}

body.ys .order-no::before {
    content: "Order";
    display: inline-flex;
    align-items: center;
    margin-right: 7px;
    padding: 2px 7px;
    border: 1px solid rgba(111, 164, 255, 0.22);
    border-radius: 7px;
    background: rgba(10, 14, 28, 0.62);
    color: #dbe7ff;
    font-size: 0.66rem;
    font-weight: 950;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.ys .order-copy-btn {
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 5px;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    appearance: none;
    -webkit-appearance: none;
    color: #8dd8ff !important;
    line-height: 1;
    box-shadow: none !important;
    text-shadow: 0 0 10px rgba(111, 164, 255, 0.38);
    vertical-align: -2px;
    cursor: pointer;
}

body.ys .order-copy-btn i {
    --fa-primary-color: #dbe7ff;
    --fa-secondary-color: #8dd8ff;
    --fa-primary-opacity: 0.95;
    --fa-secondary-opacity: 0.56;
    color: #8dd8ff !important;
    font-size: 14px;
    line-height: 1;
}

body.ys .order-copy-btn:hover,
body.ys .order-copy-btn:focus,
body.ys .order-copy-btn:active,
body.ys .order-copy-btn:focus-visible {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #dbe7ff !important;
    transform: translateY(-1px);
    text-shadow:
        0 0 10px rgba(141, 216, 255, 0.70),
        0 0 18px rgba(111, 164, 255, 0.36);
}

body.ys .order-copy-btn:hover i,
body.ys .order-copy-btn:focus-visible i {
    --fa-primary-color: #ffffff;
    --fa-secondary-color: #8dd8ff;
}

body.ys .payment-method {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

body.ys .payment-icon {
    width: 20px;
    height: 20px;
    border-radius: 7px;
    object-fit: cover;
    box-shadow: 0 4px 10px rgba(26, 73, 95, 0.10);
}

body.ys .order-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
}

body.ys .order-amount {
    min-width: 118px;
    display: grid;
    gap: 5px;
    justify-items: end;
    padding: 10px 12px;
    border: 1px solid rgba(126, 154, 255, 0.18);
    border-radius: 13px;
    background: rgba(12, 16, 31, 0.72);
    box-shadow: inset 0 1px 0 rgba(15, 20, 38, 0.76);
}

body.ys .amount-label {
    color: #9aa6c4;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.ys .amount-value {
    color: #13b56f;
    font-size: 1.45rem;
    font-weight: 950;
    line-height: 1;
    text-shadow: 0 8px 18px rgba(19, 181, 111, 0.14);
}

body.ys .goods-section {
    margin-top: 14px;
    padding: 13px;
    border: 1px solid rgba(126, 154, 255, 0.16);
    border-radius: 14px;
    background:
        linear-gradient(135deg, rgba(12, 16, 31, 0.76), rgba(39, 50, 88, 0.42));
}

body.ys .goods-thumb {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    overflow: hidden;
    border: 1px solid rgba(126, 154, 255, 0.24);
    border-radius: 12px;
    background: rgba(12, 16, 31, 0.80);
    box-shadow:
        inset 0 1px 0 rgba(141, 216, 255, 0.14),
        0 7px 16px rgba(0, 0, 0, 0.26);
}

body.ys .goods-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.ys .goods-details {
    min-width: 0;
    display: grid;
    align-content: center;
    gap: 8px;
    flex: 1 1 auto;
}

body.ys .goods-name {
    margin: 0;
    color: var(--xn-ink-2);
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.35;
}

body.ys .goods-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

body.ys .card-section {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid rgba(111, 164, 255, 0.24) !important;
    border-radius: 15px !important;
    background:
        radial-gradient(circle at 22px 18px, rgba(198, 164, 255, 0.08), transparent 78px),
        linear-gradient(135deg, rgba(12, 17, 34, 0.88), rgba(38, 50, 90, 0.52)) !important;
    box-shadow:
        inset 0 1px 0 rgba(141, 216, 255, 0.14),
        0 9px 20px rgba(0, 0, 0, 0.24),
        0 0 16px rgba(111, 164, 255, 0.08) !important;
}

body.ys .card-section .card-header {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(111, 164, 255, 0.20);
    background:
        linear-gradient(90deg, rgba(18, 26, 50, 0.92), rgba(40, 54, 96, 0.66)) !important;
}

body.ys .shipment-content,
body.ys .card-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
    color: var(--xn-ink-2);
    font-size: 1rem !important;
    font-weight: 950;
}

body.ys .shipment-title {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

body.ys .shipment-title i {
    color: #8dd8ff;
}

body.ys .card-content-no-password,
body.ys .card-password-section,
body.ys .card-content {
    padding: 13px 14px;
    color: var(--xn-ink);
    font-weight: 750;
    line-height: 1.72;
}

body.ys .card-display {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 10px 12px;
    border: 1px dashed rgba(111, 164, 255, 0.26);
    border-radius: 12px;
    background: rgba(7, 11, 24, 0.76);
    color: var(--xn-ink-2);
    word-break: break-word;
}

body.ys .btn-unified {
    min-height: 30px;
    padding: 4px 10px !important;
    border: 1px solid rgba(126, 154, 255, 0.26);
    border-radius: 9px;
    background: rgba(15, 20, 38, 0.76);
    color: #dbe7ff !important;
    font-weight: 900;
    text-decoration: none !important;
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease,
        color 0.2s ease;
}

body.ys .btn-copy-unified {
    min-width: 18px;
    min-height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: #8dd8ff !important;
    font-size: 15px;
    line-height: 1;
    box-shadow: none !important;
    text-shadow: 0 0 10px rgba(111, 164, 255, 0.34);
    vertical-align: -2px;
}

body.ys .btn-copy-unified i {
    color: inherit !important;
}

body.ys .btn-unified:hover {
    transform: translateY(-2px);
    border-color: rgba(111, 164, 255, 0.46);
    background: rgba(18, 24, 46, 0.86);
    box-shadow: 0 8px 18px rgba(26, 73, 95, 0.10);
}

body.ys .btn-copy-unified:hover {
    transform: translateY(-1px);
    color: #dbe7ff !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow:
        0 0 10px rgba(141, 216, 255, 0.70),
        0 0 18px rgba(111, 164, 255, 0.36);
}

@media (max-width: 767.98px) {
    body.ys .panel {
        overflow: hidden !important;
    }

    body.ys .yinse-brand-wrap {
        gap: 10px;
        min-width: 0;
        flex: 1 1 auto;
    }

    body.ys .yinse-brand {
        flex: 1 1 auto;
        min-width: 0;
        padding: 4px 10px 4px 5px;
        gap: 10px;
    }

    body.ys .yinse-brand-mark {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
    }

    body.ys .yinse-brand-chip {
        min-width: 0;
        flex: 1 1 auto;
        padding-right: 18px;
    }

    body.ys .yinse-brand-name {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 0.98rem;
    }

    body.ys .yinse-nav-toggle {
        width: 46px;
        height: 46px;
        flex: 0 0 46px;
    }

    body.ys .yinse-query-heading {
        align-items: flex-start;
        min-height: auto;
        padding: 14px !important;
    }

    body.ys .yinse-query-heading-icon {
        width: 36px;
        height: 36px;
        margin-right: 10px;
        border-radius: 10px;
        font-size: 15px;
    }

    body.ys .yinse-query-heading::after {
        right: 16px;
        top: 10px;
    }

    body.ys .yinse-query-title {
        font-size: 1.28rem;
    }

    body.ys .yinse-query-summary {
        font-size: 0.8rem;
    }

    body.ys .order-header,
    body.ys .goods-section {
        flex-direction: column;
    }

    body.ys .order-left {
        flex-direction: column;
    }

    body.ys .order-right,
    body.ys .order-amount {
        width: 100%;
        justify-items: start;
    }
}

body.ys .yinse-description-body a,
body.ys .btn-copy-card,
body.ys .cyber-back-btn {
    border-color: rgba(126, 154, 255, 0.32) !important;
    background: rgba(18, 24, 46, 0.78) !important;
    color: #dbe7ff !important;
    box-shadow: none !important;
}

body.ys .yinse-description-body a:hover,
body.ys .btn-copy-card:hover,
body.ys .cyber-back-btn:hover {
    background: #6f8dff !important;
    color: #f4f7ff !important;
}

body.ys .yinse-description-body blockquote {
    position: relative;
    margin: 16px 0 !important;
    padding: 18px 20px 18px 24px !important;
    overflow: hidden;
    border: 1px solid rgba(126, 154, 255, 0.22) !important;
    border-left: 0 !important;
    border-radius: 14px !important;
    background:
        linear-gradient(135deg, rgba(16, 22, 42, 0.84), rgba(58, 70, 116, 0.54)) !important;
    color: var(--xn-ink) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.18),
        0 14px 30px rgba(0, 0, 0, 0.34),
        0 0 18px rgba(111, 164, 255, 0.10) !important;
}

body.ys .yinse-description-body blockquote::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--xn-pink), var(--xn-hair), #8dd8ff);
    box-shadow: 0 0 18px rgba(111, 164, 255, 0.24);
}

body.ys .yinse-description-body blockquote::after {
    content: "✦";
    position: absolute;
    top: 10px;
    right: 12px;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(198, 164, 255, 0.22);
    border-radius: 999px;
    background: rgba(10, 14, 28, 0.62);
    color: var(--xn-pink);
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

body.ys .yinse-description-body blockquote p {
    margin: 0 0 10px !important;
}

body.ys .yinse-description-body blockquote p:last-child,
body.ys .yinse-description-body blockquote > :last-child {
    margin-bottom: 0 !important;
}

body.ys .yinse-description-body blockquote ul,
body.ys .yinse-description-body blockquote ol {
    margin: 8px 0 0 !important;
    padding-left: 18px !important;
}

body.ys .yinse-description-body a,
body.ys .btn-copy-card,
body.ys .cyber-back-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 40px;
    margin: 5px 6px;
    padding: 9px 38px 9px 16px;
    border: 1px solid rgba(126, 154, 255, 0.34) !important;
    border-radius: 9px;
    background:
        radial-gradient(circle at 18px 12px, rgba(198, 164, 255, 0.11), transparent 48px),
        linear-gradient(135deg, rgba(18, 24, 46, 0.92), rgba(70, 82, 132, 0.62)) !important;
    color: #dbe7ff !important;
    font-size: 0.94rem;
    font-weight: 900;
    line-height: 1.35;
    text-decoration: none !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.22),
        0 12px 24px rgba(0, 0, 0, 0.34),
        0 0 16px rgba(111, 164, 255, 0.10) !important;
    overflow: hidden;
    transition:
        transform 0.24s ease,
        border-color 0.24s ease,
        background-color 0.24s ease,
        box-shadow 0.24s ease,
        color 0.24s ease;
}

body.ys .yinse-description-body a::after,
body.ys .btn-copy-card::after,
body.ys .cyber-back-btn::after {
    content: "✦";
    position: absolute;
    right: 10px;
    top: 8px;
    width: 17px;
    height: 17px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(198, 164, 255, 0.18);
    border-radius: 6px;
    background: rgba(10, 14, 28, 0.62);
    color: var(--xn-pink);
    font-size: 11px;
    line-height: 1;
    box-shadow: 0 5px 12px rgba(198, 164, 255, 0.10);
    transform: rotate(-8deg) scale(0.96);
    transform-origin: center;
    transition:
        transform 0.24s ease,
        border-color 0.24s ease,
        background-color 0.24s ease,
        box-shadow 0.24s ease;
}

body.ys .yinse-description-body a:hover,
body.ys .btn-copy-card:hover,
body.ys .cyber-back-btn:hover {
    transform: translateY(-3px);
    border-color: rgba(111, 164, 255, 0.68) !important;
    background:
        radial-gradient(circle at 18px 12px, rgba(198, 164, 255, 0.18), transparent 54px),
        linear-gradient(135deg, rgba(32, 42, 80, 0.98), rgba(96, 108, 174, 0.74)) !important;
    color: #edf2ff !important;
    text-shadow: 0 0 10px rgba(184, 196, 255, 0.26);
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.28),
        0 14px 28px rgba(0, 0, 0, 0.38),
        0 0 18px rgba(111, 164, 255, 0.18) !important;
}

body.ys .yinse-description-body a:hover::after,
body.ys .btn-copy-card:hover::after,
body.ys .cyber-back-btn:hover::after {
    border-color: rgba(198, 164, 255, 0.32);
    background: rgba(20, 27, 52, 0.82);
    box-shadow: 0 7px 16px rgba(198, 164, 255, 0.16);
    transform: rotate(8deg) scale(1.14);
}

body.ys .yinse-description-body blockquote {
    padding: 20px 22px 18px 24px !important;
    --xn-quote-border: var(--xn-quote-accent, rgba(126, 154, 255, 0.24));
    border: 1px solid var(--xn-quote-border) !important;
    border-left: 1px solid var(--xn-quote-border) !important;
    background:
        radial-gradient(circle at 24px 20px, rgba(198, 164, 255, 0.13), transparent 78px),
        linear-gradient(135deg, rgba(14, 19, 36, 0.90), rgba(43, 53, 94, 0.62)) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.18),
        0 14px 30px rgba(0, 0, 0, 0.34),
        0 0 18px rgba(111, 164, 255, 0.10) !important;
    transform: translateY(0);
    transition:
        transform 0.26s ease,
        border-color 0.26s ease,
        background-color 0.26s ease,
        box-shadow 0.26s ease;
}

body.ys .yinse-description-body blockquote::before {
    left: 18px;
    top: 0;
    bottom: auto;
    width: 88px;
    height: 5px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, var(--xn-pink), var(--xn-hair), #8dd8ff);
    box-shadow: 0 8px 20px rgba(111, 164, 255, 0.20);
}

body.ys .yinse-description-body blockquote::after {
    content: "✦";
    box-shadow: 0 6px 14px rgba(198, 164, 255, 0.12);
    transition:
        transform 0.26s ease,
        background-color 0.26s ease,
        box-shadow 0.26s ease;
}

body.ys .yinse-description-body blockquote:hover {
    transform: translateY(-3px);
    border-color: rgba(111, 164, 255, 0.42) !important;
    background:
        radial-gradient(circle at 24px 20px, rgba(198, 164, 255, 0.16), transparent 86px),
        linear-gradient(135deg, rgba(28, 38, 74, 0.96), rgba(80, 94, 152, 0.68)) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.24),
        0 18px 36px rgba(0, 0, 0, 0.42),
        0 0 22px rgba(111, 164, 255, 0.12) !important;
}

body.ys .yinse-description-body blockquote:hover::after {
    transform: rotate(8deg) scale(1.08);
    background: rgba(20, 27, 52, 0.82);
    box-shadow: 0 8px 18px rgba(198, 164, 255, 0.18);
}

body.ys .yinse-description-body blockquote.red {
    --xn-quote-accent: #c24f4a;
    --xn-quote-accent-rgb: 194, 79, 74;
}

body.ys .yinse-description-body blockquote.blue,
body.ys .yinse-description-body blockquote.blud {
    --xn-quote-accent: #3b82f6;
    --xn-quote-accent-rgb: 59, 130, 246;
}

body.ys .yinse-description-body blockquote.green {
    --xn-quote-accent: #22c55e;
    --xn-quote-accent-rgb: 34, 197, 94;
}

body.ys .yinse-description-body blockquote.cyan {
    --xn-quote-accent: #22c7d8;
    --xn-quote-accent-rgb: 34, 199, 216;
}

body.ys .yinse-description-body blockquote.red,
body.ys .yinse-description-body blockquote.blue,
body.ys .yinse-description-body blockquote.blud,
body.ys .yinse-description-body blockquote.green,
body.ys .yinse-description-body blockquote.cyan,
body.ys .yinse-description-body blockquote.has-xn-quote-accent,
body.ys .yinse-description-body blockquote[style*="border-left-color"],
body.ys .yinse-description-body blockquote[style*="border-color"] {
    --xn-quote-border: var(--xn-quote-accent, var(--xn-hair));
    border-color: var(--xn-quote-border) !important;
    background:
        radial-gradient(circle at 24px 20px, rgba(var(--xn-quote-accent-rgb, 255, 79, 163), 0.12), transparent 78px),
        linear-gradient(135deg, rgba(14, 19, 36, 0.90), rgba(43, 53, 94, 0.62)) !important;
}

body.ys .yinse-description-body blockquote.red::before,
body.ys .yinse-description-body blockquote.blue::before,
body.ys .yinse-description-body blockquote.blud::before,
body.ys .yinse-description-body blockquote.green::before,
body.ys .yinse-description-body blockquote.cyan::before,
body.ys .yinse-description-body blockquote.has-xn-quote-accent::before,
body.ys .yinse-description-body blockquote[style*="border-left-color"]::before,
body.ys .yinse-description-body blockquote[style*="border-color"]::before {
    background: linear-gradient(90deg, var(--xn-quote-accent, var(--xn-hair)), rgba(184, 196, 255, 0.42), var(--xn-hair));
    box-shadow: 0 8px 20px rgba(var(--xn-quote-accent-rgb, 53, 201, 213), 0.18);
}

body.ys .yinse-description-body blockquote.red::after,
body.ys .yinse-description-body blockquote.blue::after,
body.ys .yinse-description-body blockquote.blud::after,
body.ys .yinse-description-body blockquote.green::after,
body.ys .yinse-description-body blockquote.cyan::after,
body.ys .yinse-description-body blockquote.has-xn-quote-accent::after,
body.ys .yinse-description-body blockquote[style*="border-left-color"]::after,
body.ys .yinse-description-body blockquote[style*="border-color"]::after {
    border-color: rgba(var(--xn-quote-accent-rgb, 255, 79, 163), 0.22);
    color: var(--xn-quote-accent, var(--xn-pink));
    box-shadow: 0 6px 14px rgba(var(--xn-quote-accent-rgb, 255, 79, 163), 0.12);
}

body.ys .yinse-description-body blockquote.red:hover,
body.ys .yinse-description-body blockquote.blue:hover,
body.ys .yinse-description-body blockquote.blud:hover,
body.ys .yinse-description-body blockquote.green:hover,
body.ys .yinse-description-body blockquote.cyan:hover,
body.ys .yinse-description-body blockquote.has-xn-quote-accent:hover,
body.ys .yinse-description-body blockquote[style*="border-left-color"]:hover,
body.ys .yinse-description-body blockquote[style*="border-color"]:hover {
    border-color: var(--xn-quote-border, var(--xn-quote-accent, var(--xn-hair))) !important;
    background:
        radial-gradient(circle at 24px 20px, rgba(var(--xn-quote-accent-rgb, 255, 79, 163), 0.16), transparent 86px),
        linear-gradient(135deg, rgba(28, 38, 74, 0.96), rgba(80, 94, 152, 0.68)) !important;
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.24),
        0 18px 36px rgba(0, 0, 0, 0.42),
        0 0 22px rgba(var(--xn-quote-accent-rgb, 53, 201, 213), 0.12) !important;
}

body.ys .cyber-note {
    border-left-color: var(--xn-hair) !important;
    background: rgba(14, 19, 36, 0.82) !important;
    color: var(--xn-ink) !important;
}

body.ys .yinse-payment-notice {
    position: relative;
    margin: 2px 0 0;
    padding: 14px 16px;
    border: 1px solid rgba(126, 154, 255, 0.28);
    border-radius: 12px;
    background:
        linear-gradient(90deg, rgba(9, 30, 46, 0.82), rgba(17, 65, 79, 0.76)),
        var(--yinse-page-background-image, none);
    background-size: cover;
    background-position: center;
    color: rgba(238, 252, 255, 0.86);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.58;
    text-align: center;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        0 12px 26px rgba(26, 73, 95, 0.12);
    overflow: hidden;
}

body.ys.yinse-image-flip-x .yinse-payment-notice {
    background-image: linear-gradient(90deg, rgba(9, 30, 46, 0.82), rgba(17, 65, 79, 0.76)) !important;
}

body.ys.yinse-image-flip-x .yinse-payment-notice::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: var(--yinse-page-background-image, none);
    background-size: cover;
    background-position: center;
    transform: scaleX(-1);
    opacity: 0.42;
}

body.ys .yinse-payment-notice::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 18%, rgba(111, 164, 255, 0.22), transparent 34%),
        radial-gradient(circle at 88% 82%, rgba(198, 164, 255, 0.14), transparent 30%);
    pointer-events: none;
}

body.ys .yinse-payment-notice > * {
    position: relative;
    z-index: 1;
}

body.ys .yinse-payment-notice p {
    margin: 0;
}

body.ys .yinse-payment-notice p + p {
    margin-top: 2px;
}

body.ys .yinse-payment-notice a {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    margin: 0 2px;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: #35e7ff !important;
    font-size: inherit;
    font-weight: 900;
    line-height: inherit;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    box-shadow: none !important;
    transform: none !important;
}

body.ys .yinse-payment-notice a::after {
    display: none !important;
}

/* Final sweep: remove remaining decorative pseudo-elements in brand, detail, and query views. */
body.ys .yinse-brand::before,
body.ys .yinse-brand-chip::before,
body.ys .yinse-panel-header::before,
body.ys .yinse-description-body blockquote::before,
body.ys .yinse-payment-notice::before,
body.ys .cash-pay--independent::before,
body.ys .yinse-query-heading::before,
body.ys .order-item::before {
    content: none !important;
    display: none !important;
}

body.ys .yinse-brand,
body.ys .yinse-brand-chip,
body.ys .yinse-description-body a,
body.ys .yinse-description-body blockquote,
body.ys .yinse-query-panel,
body.ys .order-item {
    box-shadow: none !important;
}

body.ys .yinse-payment-notice a:hover {
    color: #d7ddff !important;
    text-shadow: 0 0 12px rgba(184, 196, 255, 0.42);
}

body.ys .yinse-payment-panel {
    margin-top: var(--yinse-layout-gap);
    overflow: hidden;
}

body.ys .yinse-payment-heading {
    min-height: 96px;
    align-items: center;
}

body.ys .yinse-payment-body {
    padding: 18px;
}

body.ys .cash-pay--independent {
    position: relative;
    padding: 18px;
    border: 1px solid rgba(126, 154, 255, 0.18);
    border-radius: 14px;
    background:
        radial-gradient(circle at 24px 18px, rgba(198, 164, 255, 0.10), transparent 78px),
        linear-gradient(135deg, rgba(14, 19, 36, 0.82), rgba(46, 58, 98, 0.50));
    box-shadow:
        inset 0 1px 0 rgba(184, 196, 255, 0.18),
        0 14px 30px rgba(0, 0, 0, 0.34),
        0 0 18px rgba(111, 164, 255, 0.12);
}

body.ys .cash-pay--independent::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 0;
    width: 88px;
    height: 5px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, var(--xn-pink), var(--xn-hair), #8dd8ff);
    box-shadow: 0 8px 20px rgba(111, 164, 255, 0.18);
}

body.ys .cash-pay--independent .pay-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

body.ys .cash-pay--independent .pay-list:empty {
    min-height: 38px;
}

body .yinse-layer-popup.layui-layer,
body.ys .layui-layer.layui-layer-page,
body.ys .component-popup {
    background: rgba(12, 16, 31, 0.86) !important;
    border-color: rgba(126, 154, 255, 0.24) !important;
    color: var(--xn-ink) !important;
    box-shadow: var(--xn-shadow-hover) !important;
}

body .yinse-layer-popup .layui-layer-content,
body .yinse-layer-popup .yinse-notice-title,
body .yinse-layer-popup .yinse-notice-popup-inner,
body .yinse-layer-popup .yinse-notice-tip {
    color: var(--xn-ink) !important;
}

body .yinse-layer-popup .yinse-notice-modal-head {
    background: linear-gradient(180deg, rgba(21, 28, 52, 0.96), rgba(9, 13, 26, 0.92)) !important;
    border-bottom-color: rgba(126, 154, 255, 0.22) !important;
}

.yinse-form-stack input.form-control,
.yinse-form-stack input.captcha-input {
    color: var(--xn-ink) !important;
}

.yinse-form-stack input.form-control::placeholder,
.yinse-form-stack input.captcha-input::placeholder {
    color: rgba(219, 231, 255, 0.72) !important;
}

body.ys .yinse-back-to-top,
#backToTop {
    border-color: rgba(126, 154, 255, 0.30) !important;
    background: rgba(12, 16, 31, 0.86) !important;
    color: #dbe7ff !important;
    box-shadow: var(--xn-shadow) !important;
}

body.ys .yinse-back-to-top:hover,
#backToTop:hover {
    background: #6f8dff !important;
    color: #f4f7ff !important;
}

html::-webkit-scrollbar-track,
#yinse-category-tree::-webkit-scrollbar-track {
    background: #050812 !important;
}

html::-webkit-scrollbar-thumb,
#yinse-category-tree::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--xn-hair-soft), var(--xn-hair), #5d65b8) !important;
    border-color: #11182e !important;
}

html::-webkit-scrollbar-thumb:hover,
#yinse-category-tree::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #d7ddff, var(--xn-pink), var(--xn-hair)) !important;
}

@media (max-width: 767px) {
    :root {
        --xn-block-gap: 14px;
    }

    body.ys .yinse-nav-wrap,
    body.ys .yinse-shell,
    body.ys .yinse-shell--narrow,
    body.ys .yinse-footer-wrap {
        width: calc(100% - 20px);
    }

    body.yinse-theme.ys {
        background-position: center, center, 60% top !important;
        background-attachment: scroll !important;
    }

    .yinse-banner-shell {
        margin-top: var(--xn-block-gap) !important;
    }

    body.ys .yinse-hero-banner {
        min-height: 232px;
        border-radius: 20px !important;
        background:
            linear-gradient(180deg, rgba(15, 20, 38, 0.76), rgba(7, 10, 20, 0.58)) !important;
    }

    body.ys .yinse-hero-banner--image::before {
        background:
            linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(5, 8, 18, 0.16) 44%, rgba(0, 0, 0, 0.58) 100%),
            linear-gradient(90deg, rgba(0, 0, 0, 0.42), transparent 58%) !important;
    }

    body.ys .yinse-hero-banner--notice {
        padding: 0 !important;
        min-height: auto;
    }

    .yinse-hero-notice-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .yinse-hero-news.yinse-news-ticker {
        width: 100%;
    }

    body.ys .yinse-catalog-tools {
        position: static;
        width: 100%;
    }

    body.ys .yinse-catalog-tools::before,
    body.ys .yinse-catalog-tools::after {
        display: none !important;
    }

    .yinse-hero-media {
        inset: -14px -20px;
    }

    .yinse-hero-emblem,
    .yinse-hero-orbit,
    .yinse-hero-glass,
    .yinse-hero-stardust {
        display: none !important;
    }

    .yinse-hero-bottom-light {
        left: 18px;
        right: 18px;
        bottom: 74px;
        opacity: 0.48;
        animation: none;
    }

    .yinse-hero-media-image {
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center var(--yinse-hero-bg-y, 20%);
        transform: translate3d(var(--yinse-hero-shift-x, 0px), var(--yinse-hero-shift-y, 0px), 0) scale(var(--yinse-hero-bg-size, 103%));
    }

    .yinse-hero-actions {
        left: 18px;
        right: 18px;
        bottom: 10px;
        min-width: 0;
        padding: 0;
        border-radius: 0;
    }

    .yinse-hero-actions::before {
        display: none !important;
    }

    .yinse-hero-title {
        top: auto;
        left: 18px;
        right: 18px;
        bottom: 62px;
        min-width: 0;
        max-width: none;
        padding: 0 0 0 12px;
        gap: 4px;
        border-radius: 0;
    }

    .yinse-hero-title::before {
        left: 0;
        top: 2px;
        bottom: 4px;
        width: 2px;
        height: auto;
    }

    .yinse-hero-title::after {
        left: 12px;
        bottom: -6px;
        width: min(320px, calc(100vw - 52px));
    }

    .yinse-hero-title span {
        max-width: 100%;
        font-size: clamp(28px, 9.4vw, 38px);
        line-height: 0.95;
        text-wrap: balance;
    }

    .yinse-hero-title strong {
        max-width: min(100%, 330px);
        font-size: clamp(12px, 3.8vw, 15px);
        line-height: 1.18;
        text-wrap: balance;
    }

    .yinse-hero-actions .cyber-nav-buttons {
        justify-content: flex-start;
        align-items: flex-start;
        gap: 6px;
        max-height: 58px;
        overflow: hidden;
    }

    .yinse-hero-actions .cyber-btn-item {
        flex: 0 1 auto;
        min-width: 0;
        max-width: calc(50% - 4px);
        min-height: 28px;
        padding: 0 9px;
        border-radius: 10px;
        font-size: 11px;
        line-height: 1.15;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        box-shadow: 0 8px 18px rgba(26, 73, 95, 0.12);
    }

}

@media (max-width: 420px) {
    body.ys .yinse-hero-banner {
        min-height: 218px;
    }

    .yinse-hero-media-image {
        inset: 0;
        width: 100%;
        height: 100%;
        object-position: center var(--yinse-hero-bg-y, 20%);
    }

    .yinse-hero-title {
        top: auto;
        bottom: 58px;
    }

    .yinse-hero-title span {
        font-size: clamp(26px, 9vw, 34px);
    }

    .yinse-hero-title strong {
        font-size: 12px;
    }

    .yinse-hero-actions .cyber-nav-buttons {
        gap: 6px;
        max-height: 58px;
    }

    .yinse-hero-actions .cyber-btn-item {
        max-width: calc(50% - 4px);
        min-height: 28px;
        padding: 0 8px;
        font-size: 10px;
    }
}
/* 公共提取样式，减少重复代码 */
.bt-pro,
.bt-red,
.bt-blue,
.bt-green {
    font-size: 14px;
    font-weight: 900;
    position: relative;
    top: 0px;
    left: 5px;
    margin: 0 calc(0.625em) calc(0.125em) 0;
    padding: calc(0.14em) calc(0.71em);
    border-radius: 1em;
    display: inline-block;
    line-height: 1.2;
    color: #f4f7ff !important;
}

.bt-pro {
    background: rgba(255, 36, 72, 0.92);
    text-shadow: 0 0 calc(0.5em) #ff2448, 0 0 calc(1em) #ff2448;
    animation: yinsehd 8s infinite linear;
}
@keyframes yinsehd {
    0%,100% {
        background: #ff2448;
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) #ff2448, 0 0 calc(1em) #ff2448;
    }
    25% {
        background: #ff7a1a;
        color: #fff;
        text-shadow: 0 0 calc(0.5em) #ff7a1a, 0 0 calc(1em) #ff7a1a;
    }
    50% {
        background: #24f044;
        color: #fff;
        text-shadow: 0 0 calc(0.5em) #24f044, 0 0 calc(1em) #24f044;
    }
    75% {
        background: #2388ff;
        color: #fff;
        text-shadow: 0 0 calc(0.5em) #2388ff, 0 0 calc(1em) #2388ff;
    }
}

.bt-red {
    background: rgba(255, 36, 72, 0.92);
    text-shadow: 0 0 calc(0.5em) #ff2448, 0 0 calc(1em) #ff2448;
    animation: yinsehd-alone-red 8s infinite linear;
}
@keyframes yinsehd-alone-red {
    0%,100% {
        background: #ff2448;
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) #ff2448, 0 0 calc(1em) #ff2448;
    }
    33% {
        background: var(--tokyo-accent,#ff3f82);
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) var(--tokyo-accent,#ff3f82), 0 0 calc(1em) var(--tokyo-accent,#ff3f82);
    }
    66% {
        background: #ff8ad0;
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) #ff8ad0, 0 0 calc(1em) #ff8ad0;
    }
}

.bt-blue {
    background: rgba(35, 136, 255, 0.92);
    text-shadow: 0 0 calc(0.5em) #2388ff, 0 0 calc(1em) #2388ff;
    animation: yinsehd-alone-blue 8s infinite linear;
}
@keyframes yinsehd-alone-blue {
    0%,100% {
        background: #2388ff;
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) #2388ff, 0 0 calc(1em) #2388ff;
    }
    33% {
        background: #24e4ff;
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) #24e4ff, 0 0 calc(1em) #24e4ff;
    }
    66% {
        background: #8dccff;
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) #8dccff, 0 0 calc(1em) #8dccff;
    }
}

.bt-green {
    background: rgba(36, 240, 68, 0.92);
    text-shadow: 0 0 calc(0.5em) #24f044, 0 0 calc(1em) #24f044;
    animation: yinsehd-alone-green 8s infinite linear;
}
@keyframes yinsehd-alone-green {
    0%,100% {
        background: #24f044;
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) #24f044, 0 0 calc(1em) #24f044;
    }
    33% {
        background: #baff4d;
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) #baff4d, 0 0 calc(1em) #baff4d;
    }
    66% {
        background: #12d6ad;
        color: #ffffff;
        text-shadow: 0 0 calc(0.5em) #12d6ad, 0 0 calc(1em) #12d6ad;
    }
}

/* Starfall palette: tuned for the configured night-sky background image. */
body.yinse-theme.ys {
    --xn-ink: #e6f5ff;
    --xn-ink-2: #ffffff;
    --xn-building: #020711;
    --xn-hair: #72d9f5;
    --xn-hair-soft: #b4edff;
    --xn-sky: #a9c9ff;
    --xn-paper: rgba(3, 11, 25, 0.56);
    --xn-paper-2: rgba(1, 5, 14, 0.76);
    --xn-line: rgba(142, 219, 255, 0.26);
    --xn-line-strong: rgba(188, 232, 255, 0.52);
    --xn-pink: #c7b2ff;
    --xn-brick: #8c78bc;
    --xn-success: #8ee1d3;
    --xn-warning: #f0c7a8;
    --xn-shadow: 0 18px 54px rgba(0, 0, 0, 0.46), 0 0 34px rgba(78, 190, 255, 0.14);
    --xn-shadow-hover: 0 24px 68px rgba(0, 0, 0, 0.56), 0 0 42px rgba(121, 210, 255, 0.22);
    --yinse-black: #dff6ff;
    --yinse-link: #9ce8ff;
    --yinse-accent-rgb: 114, 217, 245;
    background-color: #01040c !important;
}

body.yinse-theme.ys.yinse-bg-mask-on::before {
    background:
        radial-gradient(ellipse at 58% 38%, rgba(121, 217, 255, 0.16), transparent 26%),
        radial-gradient(ellipse at 48% 6%, rgba(162, 126, 220, 0.13), transparent 28%),
        linear-gradient(90deg, rgba(0, 3, 10, 0.72) 0%, rgba(0, 9, 23, 0.24) 47%, rgba(0, 2, 9, 0.70) 100%),
        linear-gradient(180deg, rgba(0, 4, 13, 0.36) 0%, rgba(0, 7, 20, 0.12) 44%, rgba(0, 2, 9, 0.72) 100%) !important;
}

body.ys .yinse-nav,
body.ys .panel,
body.ys .yinse-item-unified-panel,
body.ys .yinse-footer-wrap,
body.ys .yinse-layer-popup,
body.ys .component-popup {
    border-color: rgba(157, 225, 255, 0.30) !important;
    background:
        linear-gradient(140deg, rgba(10, 27, 49, 0.56), rgba(2, 7, 18, 0.46) 58%, rgba(29, 18, 57, 0.40)) !important;
    box-shadow:
        inset 0 1px 0 rgba(230, 249, 255, 0.20),
        var(--xn-shadow) !important;
    backdrop-filter: blur(24px) saturate(138%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(138%) !important;
}

body.ys .yinse-nav::after {
    background: linear-gradient(90deg, transparent, rgba(143, 229, 255, 0.90), rgba(198, 178, 255, 0.72), rgba(255, 222, 192, 0.58), transparent) !important;
    opacity: 0.72;
}

body.ys .yinse-nav-link:hover,
body.ys .yinse-nav-link.is-active,
body.ys .yinse-category-link:hover,
body.ys .yinse-category-link.is-active,
body.ys .yinse-commodity-card:hover,
body.ys .yinse-button-light:hover,
body.ys .yinse-button:hover {
    border-color: rgba(180, 235, 255, 0.58) !important;
    background: linear-gradient(135deg, rgba(28, 92, 128, 0.48), rgba(43, 31, 85, 0.40)) !important;
    box-shadow: 0 0 0 1px rgba(178, 235, 255, 0.10), 0 10px 30px rgba(0, 0, 0, 0.30), 0 0 24px rgba(104, 212, 255, 0.16) !important;
}

body.ys .yinse-button-dark,
body.ys .cash-pay .pay.is-active,
body.ys .sku.is-primary {
    border-color: rgba(198, 241, 255, 0.68) !important;
    background: linear-gradient(135deg, rgba(30, 136, 179, 0.78), rgba(62, 48, 120, 0.72)) !important;
    color: #f4fcff !important;
    box-shadow: 0 9px 24px rgba(0, 0, 0, 0.30), 0 0 22px rgba(99, 220, 255, 0.25) !important;
}

body.ys .form-control,
body.ys .yinse-searchbox,
body.ys .yinse-searchbox-combo,
body.ys .yinse-user-chip,
body.ys .yinse-dropdown-menu,
body.ys .yinse-payment-notice,
body.ys .yinse-description-body blockquote {
    border-color: rgba(162, 222, 255, 0.24) !important;
    background: rgba(1, 8, 20, 0.44) !important;
    box-shadow: inset 0 1px 0 rgba(223, 246, 255, 0.10) !important;
    backdrop-filter: blur(16px) saturate(130%);
    -webkit-backdrop-filter: blur(16px) saturate(130%);
}

body.ys .yinse-hero-title,
body.ys .yinse-hero-side-notice,
body.ys .yinse-hero-news,
body.ys .yinse-hero-actions .cyber-btn-item {
    border-color: rgba(183, 234, 255, 0.28) !important;
    background: rgba(1, 9, 24, 0.38) !important;
    box-shadow: inset 0 1px 0 rgba(239, 252, 255, 0.16), 0 10px 28px rgba(0, 0, 0, 0.20) !important;
    backdrop-filter: blur(14px) saturate(135%);
    -webkit-backdrop-filter: blur(14px) saturate(135%);
}

body.ys .yinse-hero-title span,
body.ys .yinse-hero-title strong,
body.ys .panel-title,
body.ys .yinse-item-inline-title {
    color: #ecfaff !important;
    text-shadow: 0 0 18px rgba(142, 224, 255, 0.22);
}

/* The banner title should float directly over the image without a glass panel. */
body.ys .yinse-hero-title {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.ys .yinse-hero-actions .cyber-btn-item:hover {
    border-color: rgba(220, 242, 255, 0.72) !important;
    background: linear-gradient(135deg, rgba(45, 123, 162, 0.58), rgba(87, 61, 143, 0.50)) !important;
    color: #ffffff !important;
}

body.ys .yinse-category-link::after,
body.ys .yinse-brand::after,
body.ys .yinse-brand-chip::after {
    color: #b9efff !important;
    text-shadow: 0 0 14px rgba(124, 224, 255, 0.70);
}

body.ys .yinse-heart-particle {
    filter: drop-shadow(0 0 9px rgba(134, 225, 255, 0.72)) drop-shadow(0 0 18px rgba(178, 143, 255, 0.30));
}

body.ys .yinse-stardust-particle {
    color: #a7dcff;
    opacity: 0.34;
    font-family: Inter, sans-serif;
    font-weight: 400;
}

body.ys .yinse-stardust-particle[data-shape="glyph"] {
    font-size: calc(var(--heart-size, 14px) * 0.72);
    text-shadow: 0 0 8px rgba(146, 219, 255, 0.52);
}

body.ys .yinse-stardust-particle[data-shape="dot"] {
    opacity: 0.42;
    box-shadow: 0 0 7px rgba(146, 219, 255, 0.48);
}

body.ys .yinse-stardust-particle[data-shape="dash"] {
    width: calc(var(--heart-size, 14px) * 2.6);
    opacity: 0.24;
    background: linear-gradient(90deg, transparent, rgba(176, 231, 255, 0.86), transparent);
    filter: blur(0.2px);
}

/* Keep the catalog transparent enough for the configured background to remain visible. */
body.ys .yinse-catalog-panel,
body.ys .yinse-catalog-body,
body.ys .yinse-table-wrap,
body.ys .yinse-card-catalog-wrap {
    background: transparent !important;
}

body.ys .yinse-commodity-card,
body.ys .yinse-commodity-card .row-inner,
body.ys .yinse-commodity-card .row-inner::after {
    background: rgba(3, 12, 26, 0.28) !important;
}

body.ys .yinse-commodity-card .row-inner {
    border-color: rgba(155, 227, 255, 0.24) !important;
    box-shadow: inset 0 1px 0 rgba(231, 250, 255, 0.12), 0 10px 28px rgba(0, 0, 0, 0.20) !important;
    backdrop-filter: blur(15px) saturate(132%) !important;
    -webkit-backdrop-filter: blur(15px) saturate(132%) !important;
}

body.ys .yinse-commodity-card:hover .row-inner,
body.ys .yinse-commodity-card.is-inline-active .row-inner,
body.ys .yinse-commodity-card.is-inline-active:hover .row-inner {
    background:
        radial-gradient(circle at 18px 16px, rgba(199, 178, 255, 0.10), transparent 72px),
        linear-gradient(135deg, rgba(21, 91, 123, 0.42), rgba(54, 37, 92, 0.38)) !important;
}

body.ys .wholesale-table {
    background: rgba(3, 12, 26, 0.30) !important;
}

/* Match the catalog treatment in the detail view: translucent, readable, and background-aware. */
body.ys .yinse-item-unified-panel,
body.ys .yinse-description-panel,
body.ys .yinse-item-panel,
body.ys .yinse-payment-panel,
body.ys .yinse-inline-item-panel {
    background: transparent !important;
    box-shadow: none !important;
}

body.ys .yinse-item-unified-panel > .row,
body.ys .yinse-description-panel .panel-body,
body.ys .yinse-item-panel .panel-body,
body.ys .yinse-payment-panel .panel-body {
    background: rgba(3, 12, 26, 0.24) !important;
    border-color: rgba(155, 227, 255, 0.22) !important;
    backdrop-filter: blur(18px) saturate(130%);
    -webkit-backdrop-filter: blur(18px) saturate(130%);
}

body.ys .cyber-left-details-block,
body.ys .cyber-right-form-block,
body.ys .yinse-description-body,
body.ys .yinse-item-form-wrap {
    background: rgba(1, 8, 20, 0.18) !important;
}

body.ys .yinse-item-price,
body.ys .cash-pay,
body.ys .cash-pay--independent {
    background:
        radial-gradient(circle at 24px 18px, rgba(199, 178, 255, 0.10), transparent 78px),
        linear-gradient(135deg, rgba(11, 64, 90, 0.34), rgba(45, 29, 79, 0.30)) !important;
    border-color: rgba(155, 227, 255, 0.26) !important;
    box-shadow: inset 0 1px 0 rgba(231, 250, 255, 0.12), 0 12px 28px rgba(0, 0, 0, 0.20) !important;
    backdrop-filter: blur(16px) saturate(132%);
    -webkit-backdrop-filter: blur(16px) saturate(132%);
}

body.ys .yinse-payment-notice {
    background:
        linear-gradient(90deg, rgba(8, 56, 76, 0.48), rgba(48, 32, 82, 0.38)),
        var(--yinse-page-background-image, none) !important;
    opacity: 0.94;
    backdrop-filter: blur(14px) saturate(130%);
    -webkit-backdrop-filter: blur(14px) saturate(130%);
}

/* The catalog card has its own rounded surface; clip every decorative layer to it. */
body.ys .yinse-commodity-card,
body.ys .yinse-commodity-card .row-inner,
body.ys .yinse-commodity-card .row-inner::before,
body.ys .yinse-commodity-card .row-inner::after {
    border-radius: 12px !important;
}

body.ys .yinse-commodity-card {
    /* overflow: hidden !important; */
    border-radius: 12px !important;
    background: transparent !important;
}

body.ys .yinse-catalog-panel,
body.ys .yinse-catalog-panel > .panel-body,
body.ys .yinse-catalog-body,
body.ys .yinse-table-wrap,
body.ys .yinse-card-catalog-wrap,
body.ys .yinse-commodity-grid,
body.ys .item-list {
    overflow: visible !important;
}

body.ys .yinse-commodity-grid,
body.ys .item-list {
    padding-top: 6px;
    margin-top: -6px;
}

/* The panel shell must not clip the first row's hover lift. Keep only card internals clipped. */
body.ys .yinse-catalog-panel,
body.ys .yinse-catalog-panel.panel,
body.ys .yinse-catalog-panel > .panel-body,
body.ys .yinse-catalog-panel > .panel-header,
body.ys .yinse-catalog-body,
body.ys .yinse-table-wrap,
body.ys .yinse-card-catalog-wrap {
    overflow: visible !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
}

body.ys .yinse-catalog-panel::before {
    pointer-events: none;
}

/* Override the generic panel clipping rule for the catalog only. */
body.ys .yinse-catalog-panel,
body.ys .yinse-catalog-panel.panel,
body.ys .yinse-catalog-panel.panel > .panel-body,
body.ys .yinse-catalog-panel.panel > .panel-header {
    overflow: visible !important;
    overflow: visible !important;
    contain: none !important;
    clip-path: none !important;
    isolation: auto !important;
}

body.ys .yinse-commodity-card .row-inner {
    overflow: hidden !important;
    clip-path: inset(0 round 12px);
}

body.ys .yinse-commodity-card .row-inner::before,
body.ys .yinse-commodity-card .row-inner::after {
    inset: 0 !important;
}

/* Remove decorative star marks from the storefront UI. */
body.ys .yinse-brand::after,
body.ys .yinse-brand-chip::after,
body.ys .panel-header::after,
body.ys .yinse-hero-notice-head::after,
body.ys .yinse-category-link::after,
body.ys .yinse-commodity-card .row-inner::before,
body.ys .yinse-item-badges .badge-soft::after,
body.ys .yinse-item-price::after,
body.ys .yinse-query-heading::after,
body.ys .order-item::after,
body.ys .yinse-description-body blockquote::after,
body.ys .yinse-description-body a::after,
body.ys .btn-copy-card::after,
body.ys .cyber-back-btn::after {
    content: none !important;
    display: none !important;
}
