/* ==================================================
           ChouChou Condo｜公主专属生日活动按钮
           重要：保留 id="bday-special-btn"
           ================================================== */

        #bday-special-btn,
        #bday-special-btn *,
        #bday-special-btn::before,
        #bday-special-btn::after {
            box-sizing: border-box !important;
        }

        #bday-special-btn {
            position: relative !important;
            z-index: 1 !important;
            isolation: isolate !important;
            container-type: inline-size !important;

            display: flex !important;
            width: min(100%, 620px) !important;
            min-height: 88px !important;

            align-items: center !important;
            justify-content: center !important;

            margin: 18px auto !important;
            padding: 34px 15px 15px !important;

            overflow: hidden !important;

            color: #ffffff !important;
            border: 1px solid rgba(234, 214, 165, 0.96) !important;
            border-radius: 14px !important;

            background:
                radial-gradient(
                    circle at 18% 0%,
                    rgba(255, 255, 255, 0.35) 0%,
                    rgba(255, 255, 255, 0) 28%
                ),
                radial-gradient(
                    ellipse at 76% 10%,
                    rgba(255, 219, 233, 0.2) 0%,
                    transparent 36%
                ),
                linear-gradient(
                    135deg,
                    #6f2947 0%,
                    #9f456d 43%,
                    #bd6e90 72%,
                    #7a304f 100%
                ) !important;

            box-shadow:
                0 14px 30px rgba(84, 32, 54, 0.28),
                0 4px 10px rgba(174, 93, 126, 0.22),
                inset 0 1px 0 rgba(255, 255, 255, 0.48),
                inset 0 -2px 0 rgba(80, 25, 49, 0.2),
                0 0 0 4px rgba(255, 244, 248, 0.75) !important;

            font-family:
                "Noto Serif SC",
                "Source Han Serif SC",
                "Songti SC",
                "STSong",
                "Microsoft YaHei",
                "PingFang SC",
                serif !important;

            text-align: center !important;
            text-decoration: none !important;
            cursor: pointer !important;

            animation:
                bdayButtonBreath 3.2s ease-in-out infinite !important;

            transition:
                transform 0.24s ease,
                box-shadow 0.24s ease,
                filter 0.24s ease !important;
        }

        /* 内层香槟金细框 */
        #bday-special-btn::before {
            content: "" !important;

            position: absolute !important;
            inset: 5px !important;
            z-index: 1 !important;

            pointer-events: none !important;

            border: 1px solid rgba(255, 236, 190, 0.5) !important;
            border-radius: 9px !important;

            background:
                linear-gradient(
                    135deg,
                    rgba(255, 255, 255, 0.08),
                    transparent 27%,
                    transparent 73%,
                    rgba(255, 225, 185, 0.06)
                ) !important;

            box-shadow:
                inset 0 0 14px rgba(255, 235, 205, 0.09) !important;
        }

        /* 按钮表面不断划过的光泽 */
        #bday-special-btn::after {
            content: "" !important;

            position: absolute !important;
            top: -100% !important;
            left: -42% !important;
            z-index: 2 !important;

            width: 27% !important;
            height: 310% !important;

            pointer-events: none !important;

            background:
                linear-gradient(
                    90deg,
                    transparent 0%,
                    rgba(255, 255, 255, 0.04) 18%,
                    rgba(255, 255, 255, 0.7) 50%,
                    rgba(255, 255, 255, 0.04) 82%,
                    transparent 100%
                ) !important;

            filter: blur(0.2px) !important;
            transform: rotate(19deg) !important;

            animation:
                bdayButtonShine 3.8s ease-in-out infinite !important;
        }

        /* 顶部金色标签 */
        #bday-special-btn .bday-special-label {
            position: absolute !important;
            top: 5px !important;
            left: 50% !important;
            z-index: 8 !important;

            display: inline-flex !important;
            min-width: 104px !important;
            height: 23px !important;

            align-items: center !important;
            justify-content: center !important;

            padding: 0 17px !important;

            color: #6f2947 !important;

            border: 1px solid rgba(255, 240, 202, 0.96) !important;
            border-top: 0 !important;
            border-radius: 0 0 8px 8px !important;

            background:
                linear-gradient(
                    180deg,
                    #fffaf0 0%,
                    #f0dda8 48%,
                    #d0aa61 100%
                ) !important;

            box-shadow:
                0 3px 7px rgba(74, 25, 48, 0.2),
                inset 0 1px 0 rgba(255, 255, 255, 0.86) !important;

            font-size: 10px !important;
            font-weight: 800 !important;
            line-height: 1 !important;
            letter-spacing: 0.15em !important;
            white-space: nowrap !important;

            text-shadow:
                0 1px 0 rgba(255, 255, 255, 0.5) !important;

            transform: translateX(-50%) !important;
        }

        /* 主内容三栏：左王冠、中间标题、右侧等宽留白 */
        #bday-special-btn .bday-main-content {
            position: relative !important;
            z-index: 6 !important;

            display: grid !important;
            width: 100% !important;
            min-width: 0 !important;

            grid-template-columns:
                40px
                minmax(0, 1fr)
                40px !important;

            align-items: center !important;
            gap: 11px !important;
        }

        /* 左侧圆圈王冠 */
        #bday-special-btn .bday-crown-circle {
            position: relative !important;
            z-index: 7 !important;

            display: inline-flex !important;
            width: 40px !important;
            height: 40px !important;

            align-items: center !important;
            justify-content: center !important;
            justify-self: start !important;

            color: #f5d783 !important;

            border: 1px solid rgba(255, 228, 163, 0.66) !important;
            border-radius: 50% !important;

            background:
                radial-gradient(
                    circle at 32% 25%,
                    rgba(255, 255, 255, 0.2),
                    rgba(255, 255, 255, 0.04) 42%,
                    rgba(92, 29, 56, 0.12) 100%
                ) !important;

            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.32),
                inset 0 -2px 5px rgba(76, 20, 45, 0.14),
                0 3px 8px rgba(71, 18, 41, 0.2),
                0 0 10px rgba(245, 215, 131, 0.1) !important;

            font-family:
                Georgia,
                "Times New Roman",
                serif !important;

            font-size: 19px !important;
            font-weight: 400 !important;
            line-height: 1 !important;

            text-shadow:
                0 1px 0 rgba(255, 247, 209, 0.85),
                0 2px 3px rgba(74, 24, 43, 0.62),
                0 0 8px rgba(245, 210, 125, 0.28) !important;

            transition:
                transform 0.24s ease,
                filter 0.24s ease,
                box-shadow 0.24s ease !important;
        }

        /* 标题区域 */
        #bday-special-btn .bday-title-wrap {
            position: relative !important;
            z-index: 6 !important;

            display: flex !important;
            width: 100% !important;
            min-width: 0 !important;

            align-items: center !important;
            justify-content: center !important;

            padding: 5px 0 !important;
        }

        /* 右侧透明占位 */
        #bday-special-btn .bday-balance-space {
            display: block !important;
            width: 40px !important;
            height: 40px !important;

            justify-self: end !important;

            visibility: hidden !important;
            pointer-events: none !important;
        }

        /* 中文标题默认同一行 */
        #bday-special-btn .bday-button-text {
            position: relative !important;
            z-index: 7 !important;

            display: block !important;
            width: 100% !important;
            min-width: 0 !important;
            max-width: 100% !important;

            margin: 0 !important;
            padding: 0 !important;

            color: #ffffff !important;

            font-size: 17px !important;
            font-size: clamp(14px, 4.5cqw, 18px) !important;

            font-weight: 700 !important;
            line-height: 1.32 !important;
            letter-spacing: 0.01em !important;
            text-align: center !important;

            white-space: nowrap !important;
            word-break: normal !important;
            overflow-wrap: normal !important;

            text-shadow:
                0 2px 5px rgba(65, 19, 39, 0.58),
                0 0 10px rgba(255, 239, 235, 0.13) !important;
        }

        /* GTranslate 翻译后允许换成两行 */
        html:not([lang^="zh"]) #bday-special-btn .bday-button-text,
        body.translated-ltr #bday-special-btn .bday-button-text,
        body.translated-rtl #bday-special-btn .bday-button-text {
            white-space: normal !important;
            word-break: normal !important;
            overflow-wrap: anywhere !important;
            hyphens: auto !important;
            line-height: 1.28 !important;
        }

        /* 玩家名字：金色、无下划线 */
        #bday-special-btn .player {
            display: inline !important;
            position: relative !important;
            z-index: 7 !important;

            margin: 0 !important;
            padding: 0 !important;

            color: #ffe09a !important;

            border: 0 !important;
            border-bottom: 0 !important;
            border-radius: 0 !important;

            background: none !important;
            box-shadow: none !important;

            font-family: inherit !important;
            font-size: inherit !important;
            font-weight: 800 !important;
            line-height: inherit !important;
            letter-spacing: inherit !important;

            white-space: inherit !important;
            text-decoration: none !important;

            text-shadow:
                0 1px 0 rgba(255, 247, 210, 0.28),
                0 2px 4px rgba(65, 19, 39, 0.58),
                0 0 10px rgba(255, 224, 154, 0.24) !important;
        }

        /* 不断冒出的小爱心 */
        #bday-special-btn .bday-heart-layer {
            position: absolute !important;
            inset: 27px 7px 3px !important;
            z-index: 3 !important;

            overflow: visible !important;
            pointer-events: none !important;
        }

        #bday-special-btn .bday-heart {
            position: absolute !important;
            bottom: 0 !important;

            display: block !important;

            color: #ffd1df !important;

            font-family:
                Georgia,
                "Times New Roman",
                serif !important;

            font-size: 8px !important;
            line-height: 1 !important;

            opacity: 0 !important;

            text-shadow:
                0 1px 3px rgba(82, 24, 51, 0.35),
                0 0 6px rgba(255, 204, 222, 0.38) !important;

            animation:
                bdayHeartFloat 2.8s ease-out infinite !important;
        }

        #bday-special-btn .bday-heart:nth-child(1) {
            left: 8% !important;
            animation-delay: 0s !important;
        }

        #bday-special-btn .bday-heart:nth-child(2) {
            left: 24% !important;
            font-size: 6px !important;
            animation-delay: 0.45s !important;
        }

        #bday-special-btn .bday-heart:nth-child(3) {
            left: 39% !important;
            font-size: 8px !important;
            animation-delay: 0.9s !important;
        }

        #bday-special-btn .bday-heart:nth-child(4) {
            left: 54% !important;
            font-size: 7px !important;
            animation-delay: 1.35s !important;
        }

        #bday-special-btn .bday-heart:nth-child(5) {
            left: 69% !important;
            font-size: 9px !important;
            animation-delay: 1.8s !important;
        }

        #bday-special-btn .bday-heart:nth-child(6) {
            left: 84% !important;
            font-size: 7px !important;
            animation-delay: 2.25s !important;
        }

        #bday-special-btn .bday-heart:nth-child(7) {
            left: 94% !important;
            font-size: 6px !important;
            animation-delay: 1.1s !important;
        }

        /* 悬停 */
        #bday-special-btn:hover {
            color: #ffffff !important;
            text-decoration: none !important;

            background:
                radial-gradient(
                    circle at 18% 0%,
                    rgba(255, 255, 255, 0.42) 0%,
                    rgba(255, 255, 255, 0) 30%
                ),
                radial-gradient(
                    ellipse at 76% 10%,
                    rgba(255, 219, 233, 0.28) 0%,
                    transparent 38%
                ),
                linear-gradient(
                    135deg,
                    #7b2d50 0%,
                    #b3537c 44%,
                    #cf7fa1 72%,
                    #873556 100%
                ) !important;

            box-shadow:
                0 18px 38px rgba(84, 32, 54, 0.35),
                0 6px 14px rgba(174, 93, 126, 0.28),
                inset 0 1px 0 rgba(255, 255, 255, 0.58),
                inset 0 -2px 0 rgba(80, 25, 49, 0.18),
                0 0 0 5px rgba(255, 231, 241, 0.88),
                0 0 22px rgba(190, 100, 140, 0.2) !important;

            filter: saturate(1.08) brightness(1.04) !important;
            transform: translateY(-3px) scale(1.012) !important;
        }

        #bday-special-btn:hover .bday-crown-circle {
            filter: brightness(1.1) !important;

            box-shadow:
                inset 0 1px 0 rgba(255, 255, 255, 0.4),
                inset 0 -2px 5px rgba(76, 20, 45, 0.12),
                0 4px 10px rgba(71, 18, 41, 0.22),
                0 0 13px rgba(245, 215, 131, 0.18) !important;

            transform: translateY(-2px) scale(1.06) !important;
        }

        #bday-special-btn:active {
            box-shadow:
                0 8px 18px rgba(84, 32, 54, 0.25),
                inset 0 2px 5px rgba(65, 18, 40, 0.2),
                0 0 0 4px rgba(255, 235, 243, 0.72) !important;

            transform: translateY(0) scale(0.992) !important;
        }

        #bday-special-btn:focus,
        #bday-special-btn:focus-visible {
            color: #ffffff !important;
            text-decoration: none !important;
        }

        #bday-special-btn:focus-visible {
            outline: 3px solid rgba(201, 162, 95, 0.48) !important;
            outline-offset: 4px !important;
        }

        /* 按钮呼吸光 */
        @keyframes bdayButtonBreath {
            0%,
            100% {
                box-shadow:
                    0 14px 30px rgba(84, 32, 54, 0.28),
                    0 4px 10px rgba(174, 93, 126, 0.22),
                    inset 0 1px 0 rgba(255, 255, 255, 0.48),
                    inset 0 -2px 0 rgba(80, 25, 49, 0.2),
                    0 0 0 4px rgba(255, 244, 248, 0.75);
            }

            50% {
                box-shadow:
                    0 17px 35px rgba(84, 32, 54, 0.34),
                    0 5px 13px rgba(174, 93, 126, 0.27),
                    inset 0 1px 0 rgba(255, 255, 255, 0.55),
                    inset 0 -2px 0 rgba(80, 25, 49, 0.18),
                    0 0 0 5px rgba(255, 231, 241, 0.88),
                    0 0 19px rgba(190, 100, 140, 0.17);
            }
        }

        /* 流动光泽 */
        @keyframes bdayButtonShine {
            0% {
                left: -42%;
                opacity: 0;
            }

            13% {
                opacity: 0;
            }

            21% {
                opacity: 0.95;
            }

            46% {
                left: 118%;
                opacity: 0.65;
            }

            56%,
            100% {
                left: 118%;
                opacity: 0;
            }
        }

        /* 小爱心向上飘出 */
        @keyframes bdayHeartFloat {
            0% {
                opacity: 0;

                transform:
                    translate3d(0, 6px, 0)
                    scale(0.55)
                    rotate(-8deg);
            }

            18% {
                opacity: 0.92;
            }

            62% {
                opacity: 0.68;
            }

            100% {
                opacity: 0;

                transform:
                    translate3d(5px, -30px, 0)
                    scale(1.15)
                    rotate(10deg);
            }
        }

        /* 窄按钮适配 */
        @container (max-width: 440px) {
            #bday-special-btn {
                min-height: 84px !important;
                padding: 33px 9px 13px !important;
            }

            #bday-special-btn .bday-main-content {
                grid-template-columns:
                    34px
                    minmax(0, 1fr)
                    34px !important;

                gap: 7px !important;
            }

            #bday-special-btn .bday-crown-circle,
            #bday-special-btn .bday-balance-space {
                width: 34px !important;
                height: 34px !important;
            }

            #bday-special-btn .bday-crown-circle {
                font-size: 16px !important;
            }

            #bday-special-btn .bday-button-text {
                font-size: clamp(13px, 4.35cqw, 16px) !important;
                letter-spacing: 0 !important;
            }
        }

        @container (max-width: 340px) {
            #bday-special-btn {
                padding-right: 7px !important;
                padding-left: 7px !important;
            }

            #bday-special-btn .bday-main-content {
                grid-template-columns:
                    30px
                    minmax(0, 1fr)
                    30px !important;

                gap: 5px !important;
            }

            #bday-special-btn .bday-crown-circle,
            #bday-special-btn .bday-balance-space {
                width: 30px !important;
                height: 30px !important;
            }

            #bday-special-btn .bday-crown-circle {
                font-size: 14px !important;
            }

            #bday-special-btn .bday-button-text {
                font-size: clamp(12px, 4.2cqw, 14px) !important;
            }
        }

        @media (max-width: 600px) {
            #bday-special-btn {
                border-radius: 12px !important;
            }

            #bday-special-btn::before {
                inset: 4px !important;
                border-radius: 8px !important;
            }

            #bday-special-btn .bday-special-label {
                top: 4px !important;
                min-width: 96px !important;
                height: 22px !important;
                padding: 0 14px !important;
                font-size: 9px !important;
            }
        }

        @media (prefers-reduced-motion: reduce) {
            #bday-special-btn,
            #bday-special-btn::after,
            #bday-special-btn .bday-heart,
            #bday-special-btn .bday-crown-circle {
                animation: none !important;
                transition: none !important;
            }
        }


/* ==================================================
   Makers 静态页接管规则
   原来这部分由 [condo_left_menu] 负责。
   默认隐藏；只有生日判断成功后加上 .show-magic 才显示。
   ================================================== */
#bday-special-btn,
[data-bday-special-btn] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
}

#bday-special-btn:not(.show-magic),
[data-bday-special-btn]:not(.show-magic) {
    display: none !important;
}

#bday-special-btn.show-magic,
[data-bday-special-btn].show-magic {
    display: flex !important;
}

/* =========================================================
   生日图文祝福浮窗｜透明背景、不遮罩页面、保持真实 DOM 供 GTranslate 翻译
========================================================= */
.birthday-greeting-popover[hidden] {
    display: none !important;
}

.birthday-greeting-popover {
    position: fixed;
    inset: 0;
    z-index: 2147480400;
    pointer-events: none;
    background: transparent !important;
}

.birthday-greeting-card {
    --bday-wine: #6f2947;
    --bday-rose: #b45e83;
    --bday-rose-soft: #f7dfe9;
    --bday-gold: #c9a25f;
    --bday-gold-soft: #ecd9ae;
    --bday-cream: #fffaf5;

    position: absolute;
    top: clamp(118px, 14vh, 158px);
    left: 50%;
    width: min(860px, calc(100vw - 56px));
    min-height: 360px;
    display: grid;
    grid-template-columns: minmax(260px, 0.92fr) minmax(340px, 1.08fr);
    overflow: hidden;
    pointer-events: auto;
    border: 1px solid rgba(201, 162, 95, .78);
    border-radius: 26px;
    background:
        radial-gradient(circle at 7% 0%, rgba(255,255,255,.98), rgba(255,255,255,0) 34%),
        radial-gradient(circle at 100% 0%, rgba(214,133,168,.18), rgba(214,133,168,0) 34%),
        linear-gradient(145deg, rgba(255,253,248,.99), rgba(255,243,248,.985));
    box-shadow:
        0 26px 70px rgba(88, 34, 59, .26),
        0 8px 24px rgba(186, 113, 144, .18),
        inset 0 0 0 5px rgba(255,255,255,.55),
        inset 0 0 0 7px rgba(201,162,95,.14);
    transform: translate(-50%, -14px) scale(.985);
    opacity: 0;
    transition: transform .34s cubic-bezier(.2,.8,.2,1), opacity .28s ease;
    isolation: isolate;
}

.birthday-greeting-popover.is-open .birthday-greeting-card {
    transform: translate(-50%, 0) scale(1);
    opacity: 1;
}

.birthday-greeting-card::before {
    content: "";
    position: absolute;
    inset: 10px;
    z-index: 5;
    border: 1px solid rgba(201,162,95,.34);
    border-radius: 18px;
    pointer-events: none;
}

.birthday-greeting-card::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -105px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(220,150,181,.20), rgba(220,150,181,0) 68%);
    pointer-events: none;
}

.birthday-greeting-media {
    position: relative;
    min-width: 0;
    min-height: 360px;
    padding: 18px 0 18px 18px;
    z-index: 1;
}

.birthday-greeting-media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 324px;
    object-fit: cover;
    object-position: center;
    border-radius: 18px 0 0 18px;
    user-select: none;
    -webkit-user-drag: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.5);
}

.birthday-greeting-media::after {
    content: "";
    position: absolute;
    top: 18px;
    right: 0;
    bottom: 18px;
    width: 46%;
    background: linear-gradient(90deg, rgba(255,250,246,0), rgba(255,247,248,.86) 78%, rgba(255,247,248,.98));
    pointer-events: none;
}

.birthday-greeting-media-frame {
    position: absolute;
    inset: 26px 8px 26px 26px;
    border: 1px solid rgba(236,217,174,.58);
    border-radius: 13px;
    pointer-events: none;
}

.birthday-greeting-copy {
    position: relative;
    z-index: 3;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 42px 52px 38px 32px;
}

.birthday-greeting-kicker {
    display: block;
    margin-bottom: 10px;
    color: #aa8247;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .20em;
    line-height: 1.4;
}

.birthday-greeting-copy h2 {
    margin: 0 !important;
    color: var(--bday-wine) !important;
    font-family: "Noto Serif SC", "Songti SC", Georgia, serif;
    font-size: clamp(28px, 2.5vw, 40px);
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.25;
}

.birthday-greeting-copy h2 .player {
    display: inline;
    color: #8c3559;
    white-space: nowrap;
}

.birthday-greeting-ornament {
    display: flex;
    width: min(290px, 90%);
    align-items: center;
    gap: 10px;
    margin: 15px 0 15px;
    color: var(--bday-gold);
}

.birthday-greeting-ornament span {
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, transparent, rgba(201,162,95,.80));
}

.birthday-greeting-ornament span:last-child {
    background: linear-gradient(90deg, rgba(201,162,95,.80), transparent);
}

.birthday-greeting-ornament b {
    font-size: 14px;
    font-weight: 400;
}

.birthday-greeting-copy p {
    margin: 0 0 22px !important;
    color: #6d4b59 !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.95;
    letter-spacing: .02em;
    white-space: pre-line;
}

.birthday-greeting-link {
    display: inline-flex;
    width: fit-content;
    min-width: 220px;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 9px 13px 9px 18px;
    color: #fff !important;
    border: 1px solid rgba(236,217,174,.88);
    border-radius: 13px;
    background: linear-gradient(145deg, #7a304f, #b45e83);
    box-shadow:
        0 10px 22px rgba(111,41,71,.20),
        inset 0 1px 0 rgba(255,255,255,.26);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: .05em;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.birthday-greeting-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(111,41,71,.25), inset 0 1px 0 rgba(255,255,255,.3);
}

.birthday-greeting-link b {
    display: inline-flex;
    width: 27px;
    height: 27px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(255,255,255,.15);
    color: #fff0c9;
    font-family: Arial, sans-serif;
    font-size: 22px;
    font-weight: 400;
}

.birthday-greeting-note {
    display: block;
    margin-top: 12px;
    color: #a0848f;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 10px;
    letter-spacing: .08em;
}

.birthday-greeting-close {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 20;
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #7c3654;
    border: 1px solid rgba(201,162,95,.62);
    border-radius: 50%;
    background: rgba(255,251,247,.94);
    box-shadow: 0 8px 18px rgba(94,39,61,.15);
    font-family: Arial, sans-serif;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease;
}

.birthday-greeting-close:hover {
    transform: rotate(6deg) scale(1.05);
    background: #fff;
}

.birthday-greeting-spark {
    position: absolute;
    z-index: 12;
    color: #d2aa61;
    text-shadow: 0 0 10px rgba(226,188,112,.72);
    pointer-events: none;
    animation: bdayGreetingTwinkle 2.8s ease-in-out infinite;
}

.birthday-greeting-spark--one {
    top: 18px;
    left: 22px;
    font-size: 13px;
}

.birthday-greeting-spark--two {
    right: 65px;
    bottom: 18px;
    font-size: 11px;
    animation-delay: .8s;
}

@keyframes bdayGreetingTwinkle {
    0%,100% { opacity: .35; transform: scale(.82) rotate(0deg); }
    50% { opacity: 1; transform: scale(1.18) rotate(8deg); }
}

@media (max-width: 820px) {
    .birthday-greeting-card {
        top: 72px;
        width: min(640px, calc(100vw - 28px));
        max-height: calc(100vh - 92px);
        grid-template-columns: 1fr;
        overflow-y: auto;
    }

    .birthday-greeting-media {
        min-height: 210px;
        padding: 14px 14px 0;
    }

    .birthday-greeting-media img {
        min-height: 210px;
        height: 240px;
        border-radius: 17px;
    }

    .birthday-greeting-media::after {
        display: none;
    }

    .birthday-greeting-copy {
        padding: 26px 30px 30px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .birthday-greeting-card,
    .birthday-greeting-spark {
        transition: none !important;
        animation: none !important;
    }
}


/* 自定义活动弹窗沿用生日弹窗结构，只用极轻的香槟金区别活动性质。 */
.campaign-greeting-card {
    --bday-rose: #a95578;
    background:
        radial-gradient(circle at 7% 0%, rgba(255,255,255,.98), rgba(255,255,255,0) 34%),
        radial-gradient(circle at 100% 0%, rgba(223,181,105,.16), rgba(223,181,105,0) 34%),
        linear-gradient(145deg, rgba(255,253,248,.99), rgba(255,244,248,.985));
}

.campaign-greeting-card .birthday-greeting-kicker {
    color: #9f793f;
}


/* 生日与活动改回顺序弹窗：不再使用双卡并排。 */



/* === ChouChou 260819 Birthday Invitation Override === */
/*
 * ChouChou Condo /game-main-hub
 * Birthday Invitation Button · Makers static style override
 *
 * 只覆盖外观：
 * - 不修改 #bday-special-btn
 * - 不修改 .show-magic 生日显隐
 * - 不修改 .player 玩家名字
 * - 不修改 href / 点击功能
 * - 不修改 Steam Cloud 生日读取逻辑
 *
 * 请把本文件放到：
 * /game-main-hub/assets/css/birthday-invitation-makers.css
 *
 * 并确保它在旧生日按钮 CSS 之后加载。
 */

/* =========================================================
   01 · Button shell
   ========================================================= */
.condo-left-menu #bday-special-btn,
.condo-left-menu [data-bday-special-btn] {
    --cc-bday-wine: #6f2947;
    --cc-bday-wine-deep: #542036;
    --cc-bday-rose: #ae5d7e;
    --cc-bday-rose-light: #f8dce7;
    --cc-bday-pink-soft: #fff4f8;
    --cc-bday-cream: #fffaf5;
    --cc-bday-gold: #c9a25f;
    --cc-bday-gold-light: #ead6a5;

    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 84px !important;

    align-items: center !important;
    justify-content: center !important;

    margin: 0 auto !important;
    padding: 29px 14px 13px !important;
    overflow: hidden !important;

    color: var(--cc-bday-wine) !important;
    border: 1px solid rgba(201, 162, 95, .72) !important;
    border-radius: 18px !important;

    background:
        radial-gradient(circle at 12% 0%, rgba(255,255,255,.98) 0%, rgba(255,255,255,0) 31%),
        radial-gradient(circle at 92% 100%, rgba(224,139,168,.20) 0%, rgba(224,139,168,0) 39%),
        linear-gradient(145deg, #fffdf9 0%, #fff6f8 43%, #f8e3eb 100%) !important;

    box-shadow:
        0 10px 24px rgba(95, 43, 66, .15),
        0 3px 8px rgba(174, 93, 126, .10),
        inset 0 1px 0 rgba(255,255,255,.98),
        inset 0 -1px 0 rgba(111,41,71,.06),
        0 0 0 3px rgba(255,255,255,.72) !important;

    font-family:
        "Microsoft YaHei",
        "PingFang SC",
        "Noto Sans SC",
        Arial,
        sans-serif !important;

    text-decoration: none !important;
    cursor: pointer !important;

    animation: ccBdayInviteBreath 3.8s ease-in-out infinite !important;

    transition:
        transform .24s ease,
        filter .24s ease,
        box-shadow .24s ease,
        border-color .24s ease !important;
}

/* 保留原生日逻辑：平日绝不显示 */
.condo-left-menu #bday-special-btn:not(.show-magic),
.condo-left-menu [data-bday-special-btn]:not(.show-magic) {
    display: none !important;
}

/* 生日当天才显示 */
.condo-left-menu #bday-special-btn.show-magic,
.condo-left-menu [data-bday-special-btn].show-magic {
    display: flex !important;
}

/* =========================================================
   02 · Inner champagne-gold frame
   ========================================================= */
.condo-left-menu #bday-special-btn::before,
.condo-left-menu [data-bday-special-btn]::before {
    content: "" !important;
    position: absolute !important;
    inset: 5px !important;
    z-index: 1 !important;
    pointer-events: none !important;

    border: 1px solid rgba(201, 162, 95, .34) !important;
    border-radius: 14px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.44) 0%,
            rgba(255,255,255,0) 24%,
            rgba(255,255,255,0) 75%,
            rgba(229,177,195,.10) 100%
        ) !important;

    box-shadow:
        inset 0 0 13px rgba(255,255,255,.42) !important;
}

/* 珍珠扫光 */
.condo-left-menu #bday-special-btn::after,
.condo-left-menu [data-bday-special-btn]::after {
    content: "" !important;
    position: absolute !important;
    top: -115% !important;
    left: -42% !important;
    z-index: 2 !important;

    width: 22% !important;
    height: 335% !important;
    pointer-events: none !important;

    background:
        linear-gradient(
            90deg,
            transparent 0%,
            rgba(255,255,255,.08) 18%,
            rgba(255,255,255,.88) 50%,
            rgba(255,255,255,.08) 82%,
            transparent 100%
        ) !important;

    transform: rotate(20deg) !important;
    filter: blur(.15px) !important;

    animation: ccBdayInviteShine 4.8s ease-in-out infinite !important;
}

/* =========================================================
   03 · Top ribbon / label
   ========================================================= */
.condo-left-menu #bday-special-btn .bday-special-label,
.condo-left-menu [data-bday-special-btn] .bday-special-label {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    z-index: 9 !important;

    display: inline-flex !important;
    min-width: 94px !important;
    height: 22px !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 0 15px !important;

    color: #7b4a57 !important;
    border: 1px solid rgba(201,162,95,.62) !important;
    border-top: 0 !important;
    border-radius: 0 0 10px 10px !important;

    background:
        linear-gradient(
            180deg,
            #fffdf7 0%,
            #f7e9c8 48%,
            #dfbd82 100%
        ) !important;

    box-shadow:
        0 3px 8px rgba(84,32,54,.10),
        inset 0 1px 0 rgba(255,255,255,.94) !important;

    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .14em !important;
    white-space: nowrap !important;

    text-shadow: 0 1px 0 rgba(255,255,255,.84) !important;
    transform: translateX(-50%) !important;
}

/* =========================================================
   04 · Main content
   ========================================================= */
.condo-left-menu #bday-special-btn .bday-main-content,
.condo-left-menu [data-bday-special-btn] .bday-main-content {
    position: relative !important;
    z-index: 6 !important;

    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;

    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    align-items: center !important;
    gap: 8px !important;
}

/* 左侧皇冠徽章 */
.condo-left-menu #bday-special-btn .bday-crown-circle,
.condo-left-menu [data-bday-special-btn] .bday-crown-circle {
    position: relative !important;
    z-index: 7 !important;

    display: inline-flex !important;
    width: 40px !important;
    height: 40px !important;

    align-items: center !important;
    justify-content: center !important;
    justify-self: start !important;

    color: #a8783f !important;

    border: 1px solid rgba(201,162,95,.50) !important;
    border-radius: 50% !important;

    background:
        radial-gradient(circle at 30% 23%, #ffffff 0%, #fffaf0 37%, #f1ddb5 100%) !important;

    box-shadow:
        0 4px 10px rgba(104,61,58,.12),
        inset 0 1px 0 rgba(255,255,255,.98),
        0 0 0 3px rgba(255,255,255,.56),
        0 0 11px rgba(201,162,95,.10) !important;

    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 19px !important;
    line-height: 1 !important;

    text-shadow:
        0 1px 0 #fffdf6,
        0 0 7px rgba(201,162,95,.26) !important;

    transition:
        transform .24s ease,
        filter .24s ease,
        box-shadow .24s ease !important;
}

/* 中间标题区 */
.condo-left-menu #bday-special-btn .bday-title-wrap,
.condo-left-menu [data-bday-special-btn] .bday-title-wrap {
    position: relative !important;
    z-index: 7 !important;

    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 3px 0 !important;
}

/* 玩家名字 + 原生日引导语 */
.condo-left-menu #bday-special-btn .bday-button-text,
.condo-left-menu [data-bday-special-btn] .bday-button-text {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #69404f !important;

    font-size: clamp(12px, 3.8cqw, 14px) !important;
    font-weight: 700 !important;
    line-height: 1.36 !important;
    letter-spacing: .015em !important;

    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;

    text-shadow:
        0 1px 0 rgba(255,255,255,.98),
        0 0 8px rgba(255,255,255,.52) !important;
}

/* 玩家名字重点色 */
.condo-left-menu #bday-special-btn .player,
.condo-left-menu [data-bday-special-btn] .player {
    display: inline !important;
    position: relative !important;
    z-index: 8 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #c45f82 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;

    font: inherit !important;
    font-weight: 900 !important;
    text-decoration: none !important;

    text-shadow:
        0 1px 0 rgba(255,255,255,.98),
        0 0 8px rgba(196,95,130,.20) !important;
}

/* 右侧平衡占位 */
.condo-left-menu #bday-special-btn .bday-balance-space,
.condo-left-menu [data-bday-special-btn] .bday-balance-space {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    justify-self: end !important;

    visibility: hidden !important;
    pointer-events: none !important;
}

/* =========================================================
   05 · Floating hearts
   复用静态 HTML 里已经存在的 7 颗 ♥，不增加 JS。
   ========================================================= */
.condo-left-menu #bday-special-btn .bday-heart-layer,
.condo-left-menu [data-bday-special-btn] .bday-heart-layer {
    position: absolute !important;
    inset: 23px 5px 3px !important;
    z-index: 3 !important;

    overflow: hidden !important;
    pointer-events: none !important;
}

.condo-left-menu #bday-special-btn .bday-heart,
.condo-left-menu [data-bday-special-btn] .bday-heart {
    position: absolute !important;
    bottom: -3px !important;

    display: block !important;

    color: #e9a9bf !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 7px !important;
    line-height: 1 !important;

    opacity: 0 !important;

    text-shadow:
        0 0 5px rgba(255,255,255,.98),
        0 0 8px rgba(214,119,150,.20) !important;

    animation: ccBdayInviteHeart 3.7s ease-out infinite !important;
}

.condo-left-menu #bday-special-btn .bday-heart:nth-child(1) { left: 7% !important;  animation-delay: 0s !important; }
.condo-left-menu #bday-special-btn .bday-heart:nth-child(2) { left: 22% !important; font-size: 5px !important; animation-delay: .65s !important; }
.condo-left-menu #bday-special-btn .bday-heart:nth-child(3) { left: 38% !important; font-size: 6px !important; animation-delay: 1.3s !important; }
.condo-left-menu #bday-special-btn .bday-heart:nth-child(4) { left: 56% !important; font-size: 5px !important; animation-delay: 1.95s !important; }
.condo-left-menu #bday-special-btn .bday-heart:nth-child(5) { left: 70% !important; font-size: 7px !important; animation-delay: .85s !important; }
.condo-left-menu #bday-special-btn .bday-heart:nth-child(6) { left: 85% !important; font-size: 5px !important; animation-delay: 1.65s !important; }
.condo-left-menu #bday-special-btn .bday-heart:nth-child(7) { left: 94% !important; font-size: 6px !important; animation-delay: 2.45s !important; }

/* =========================================================
   06 · Interaction
   ========================================================= */
.condo-left-menu #bday-special-btn:hover,
.condo-left-menu [data-bday-special-btn]:hover {
    color: var(--cc-bday-wine) !important;
    text-decoration: none !important;

    border-color: rgba(201,162,95,.92) !important;
    filter: brightness(1.018) saturate(1.035) !important;

    transform: translateY(-2px) scale(1.008) !important;

    box-shadow:
        0 14px 29px rgba(95,43,66,.20),
        0 4px 10px rgba(174,93,126,.13),
        inset 0 1px 0 rgba(255,255,255,1),
        0 0 0 4px rgba(255,255,255,.78),
        0 0 19px rgba(216,130,160,.14) !important;
}

.condo-left-menu #bday-special-btn:hover .bday-crown-circle,
.condo-left-menu [data-bday-special-btn]:hover .bday-crown-circle {
    filter: brightness(1.06) !important;
    transform: translateY(-1px) rotate(-4deg) scale(1.055) !important;
}

.condo-left-menu #bday-special-btn:active,
.condo-left-menu [data-bday-special-btn]:active {
    transform: translateY(0) scale(.988) !important;
    filter: brightness(.99) !important;
}

.condo-left-menu #bday-special-btn:focus-visible,
.condo-left-menu [data-bday-special-btn]:focus-visible {
    outline: 3px solid rgba(201,162,95,.34) !important;
    outline-offset: 4px !important;
}

/* =========================================================
   07 · Animation
   ========================================================= */
@keyframes ccBdayInviteBreath {
    0%, 100% {
        box-shadow:
            0 10px 24px rgba(95,43,66,.15),
            0 3px 8px rgba(174,93,126,.10),
            inset 0 1px 0 rgba(255,255,255,.98),
            inset 0 -1px 0 rgba(111,41,71,.06),
            0 0 0 3px rgba(255,255,255,.72);
    }

    50% {
        box-shadow:
            0 13px 28px rgba(95,43,66,.18),
            0 4px 10px rgba(174,93,126,.12),
            inset 0 1px 0 rgba(255,255,255,1),
            inset 0 -1px 0 rgba(111,41,71,.05),
            0 0 0 4px rgba(255,255,255,.80),
            0 0 17px rgba(214,119,150,.11);
    }
}

@keyframes ccBdayInviteShine {
    0% {
        left: -42%;
        opacity: 0;
    }

    14% {
        opacity: 0;
    }

    23% {
        opacity: .78;
    }

    45% {
        left: 118%;
        opacity: .46;
    }

    55%, 100% {
        left: 118%;
        opacity: 0;
    }
}

@keyframes ccBdayInviteHeart {
    0% {
        opacity: 0;
        transform: translate3d(0, 8px, 0) scale(.52) rotate(-8deg);
    }

    20% {
        opacity: .68;
    }

    64% {
        opacity: .42;
    }

    100% {
        opacity: 0;
        transform: translate3d(4px, -25px, 0) scale(1.08) rotate(9deg);
    }
}

/* =========================================================
   08 · Narrow sidebar
   ========================================================= */
@container (max-width: 340px) {
    .condo-left-menu #bday-special-btn,
    .condo-left-menu [data-bday-special-btn] {
        min-height: 80px !important;
        padding: 28px 10px 12px !important;
    }

    .condo-left-menu #bday-special-btn .bday-main-content,
    .condo-left-menu [data-bday-special-btn] .bday-main-content {
        grid-template-columns: 38px minmax(0, 1fr) 38px !important;
        gap: 6px !important;
    }

    .condo-left-menu #bday-special-btn .bday-crown-circle,
    .condo-left-menu [data-bday-special-btn] .bday-crown-circle,
    .condo-left-menu #bday-special-btn .bday-balance-space,
    .condo-left-menu [data-bday-special-btn] .bday-balance-space {
        width: 36px !important;
        height: 36px !important;
    }

    .condo-left-menu #bday-special-btn .bday-crown-circle,
    .condo-left-menu [data-bday-special-btn] .bday-crown-circle {
        font-size: 17px !important;
    }

    .condo-left-menu #bday-special-btn .bday-button-text,
    .condo-left-menu [data-bday-special-btn] .bday-button-text {
        font-size: clamp(11px, 3.8cqw, 13px) !important;
    }
}

/* GTranslate 翻译后允许自然换行 */
html:not([lang^="zh"]) .condo-left-menu #bday-special-btn .bday-button-text,
body.translated-ltr .condo-left-menu #bday-special-btn .bday-button-text,
body.translated-rtl .condo-left-menu #bday-special-btn .bday-button-text {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    hyphens: auto !important;
}

/* 无障碍：系统要求减少动态时停掉装饰动画 */
@media (prefers-reduced-motion: reduce) {
    .condo-left-menu #bday-special-btn,
    .condo-left-menu [data-bday-special-btn],
    .condo-left-menu #bday-special-btn::after,
    .condo-left-menu [data-bday-special-btn]::after,
    .condo-left-menu #bday-special-btn .bday-heart,
    .condo-left-menu [data-bday-special-btn] .bday-heart {
        animation: none !important;
        transition: none !important;
    }
}

