/* Extra nickname styles kept separate from generated theme CSS. */
.nickname-style-amber-glow {
    color: #f2c35b !important;
    text-shadow: 0 0 4px rgba(242, 195, 91, .45), 0 0 12px rgba(178, 119, 24, .24);
}

.nickname-style-terminal-green {
    color: #73e6a2 !important;
    font-family: Consolas, "Courier New", monospace;
    text-shadow: 0 0 7px rgba(67, 214, 124, .38);
}

.nickname-style-pearl {
    color: #f4f1e8 !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .45), 0 0 8px rgba(229, 219, 197, .2);
}

.nickname-style-ember-outline {
    color: transparent !important;
    -webkit-text-stroke: 1px #ef9a4a;
    text-shadow: 0 0 7px rgba(214, 89, 29, .42);
}

.nickname-style-velvet-shadow {
    color: #efdeed !important;
    text-shadow: 1px 2px 0 #5b2d58, 0 0 9px rgba(137, 69, 130, .28);
}

.nickname-style-mint-frost,
.nickname-style-peach-sorbet,
.nickname-style-moonstone,
.nickname-style-crimson-gold,
.nickname-style-deep-space,
.nickname-style-sakura,
.nickname-style-lagoon,
.nickname-style-champagne,
.nickname-style-animated-sunrise,
.nickname-style-animated-tide,
.nickname-style-animated-prism,
.nickname-style-animated-ember,
.nickname-style-northern-lights,
.nickname-style-cotton-candy,
.nickname-style-liquid-metal,
.nickname-style-animated-void,
.nickname-style-marquee-shine {
    color: transparent !important;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
}

.nickname-style-mint-frost { background-image: linear-gradient(90deg, #d8f3dc, #74c69d, #b7e4c7); }
.nickname-style-peach-sorbet { background-image: linear-gradient(90deg, #ffd6a5, #ff9b85, #ffcad4); }
.nickname-style-moonstone { background-image: linear-gradient(90deg, #e7e9f5, #9fa8da, #d9c7f1); }
.nickname-style-crimson-gold { background-image: linear-gradient(90deg, #ffb703, #d94841, #f6bd60); }
.nickname-style-deep-space { background-image: linear-gradient(90deg, #91a7ff, #7950f2, #e599f7); }
.nickname-style-sakura { background-image: linear-gradient(90deg, #ffe5ec, #ff8fab, #f7cad0); }
.nickname-style-lagoon { background-image: linear-gradient(90deg, #99e2b4, #56cfe1, #48bfe3); }
.nickname-style-champagne { background-image: linear-gradient(90deg, #fff3bf, #d6ad60, #f8e7c0); }

.nickname-style-animated-sunrise,
.nickname-style-animated-tide,
.nickname-style-animated-prism,
.nickname-style-animated-ember,
.nickname-style-northern-lights,
.nickname-style-cotton-candy,
.nickname-style-liquid-metal,
.nickname-style-animated-void {
    background-position: 0 50%;
    background-size: 260% auto;
    animation: nickname-pack-gradient 4s linear infinite;
    will-change: background-position;
}

.nickname-style-animated-sunrise {
    background-image: linear-gradient(90deg, #f9c74f, #f9844a, #f15bb5, #f9c74f);
}
.nickname-style-animated-tide {
    background-image: linear-gradient(90deg, #90e0ef, #00b4d8, #4361ee, #90e0ef);
    animation-duration: 4.8s;
}
.nickname-style-animated-prism {
    background-image: linear-gradient(90deg, #ff6b6b, #ffd43b, #69db7c, #4dabf7, #da77f2, #ff6b6b);
    animation-duration: 3.2s;
}
.nickname-style-animated-ember {
    background-image: linear-gradient(90deg, #ffe066, #ff922b, #e03131, #ff922b, #ffe066);
    animation-duration: 2.8s;
    filter: drop-shadow(0 0 4px rgba(240, 101, 27, .34));
}
.nickname-style-northern-lights {
    background-image: linear-gradient(90deg, #63e6be, #38d9a9, #748ffc, #c77dff, #63e6be);
    animation-duration: 5.4s;
}
.nickname-style-cotton-candy {
    background-image: linear-gradient(90deg, #faa2c1, #eebefa, #a5d8ff, #faa2c1);
    animation-duration: 4.5s;
}
.nickname-style-liquid-metal {
    background-image: linear-gradient(105deg, #59636f, #f1f3f5, #868e96, #ffffff, #59636f);
    animation-duration: 3.6s;
}
.nickname-style-animated-void {
    background-image: linear-gradient(90deg, #b197fc, #7048e8, #343a40, #9775fa, #b197fc);
    animation-duration: 5.8s;
    filter: drop-shadow(0 0 4px rgba(132, 94, 247, .3));
}

.nickname-style-heartbeat {
    color: #ff8787 !important;
    text-shadow: 0 0 6px rgba(250, 82, 82, .4);
    animation: nickname-pack-heartbeat 2.2s ease-in-out infinite;
}

.nickname-style-wave-glow {
    color: #74c0fc !important;
    animation: nickname-pack-wave 3s ease-in-out infinite;
}

.nickname-style-marquee-shine {
    background-image: linear-gradient(105deg, #adb5bd 18%, #ffffff 38%, #ffe8a1 48%, #ffffff 58%, #adb5bd 78%);
    background-position: 150% 50%;
    background-size: 240% auto;
    animation: nickname-pack-shine 2.6s ease-in-out infinite;
}

.nickname-style-orbit-underline {
    position: relative;
    display: inline-block;
    max-width: 100%;
    padding-bottom: 3px;
    color: #f2d17b !important;
}

.nickname-style-orbit-underline::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent 0 34%, #fff2b2 48%, #d19b2c 56%, transparent 70%);
    background-size: 220% 100%;
    content: "";
    animation: nickname-pack-orbit 2.1s linear infinite;
}

@keyframes nickname-pack-gradient {
    from { background-position: 0 50%; }
    to { background-position: 260% 50%; }
}

@keyframes nickname-pack-heartbeat {
    0%, 38%, 60%, 100% { text-shadow: 0 0 5px rgba(250, 82, 82, .34); }
    44%, 52% { color: #ffc9c9 !important; text-shadow: 0 0 10px rgba(255, 107, 107, .8); }
}

@keyframes nickname-pack-wave {
    0%, 100% { color: #74c0fc; text-shadow: -4px 0 7px rgba(77, 171, 247, .3); }
    50% { color: #a5d8ff; text-shadow: 4px 0 10px rgba(34, 184, 207, .62); }
}

@keyframes nickname-pack-shine {
    0%, 18% { background-position: 150% 50%; }
    72%, 100% { background-position: -70% 50%; }
}

@keyframes nickname-pack-orbit {
    from { background-position: 140% 0; }
    to { background-position: -80% 0; }
}

@media (prefers-reduced-motion: reduce) {
    .nickname-style-animated-sunrise,
    .nickname-style-animated-tide,
    .nickname-style-animated-prism,
    .nickname-style-animated-ember,
    .nickname-style-northern-lights,
    .nickname-style-cotton-candy,
    .nickname-style-liquid-metal,
    .nickname-style-animated-void,
    .nickname-style-heartbeat,
    .nickname-style-wave-glow,
    .nickname-style-marquee-shine,
    .nickname-style-orbit-underline::after {
        animation: none;
    }
}
