.dex-sprite{
    object-fit:contain;
}

.shiny-wrapper{
    position:relative;
    display:inline-flex;
    width:96px;
    height:96px;
    align-items:flex-end;
    justify-content:center;
    flex:0 0 96px;
}

.shiny-wrapper.secret-shiny::before,
.shiny-wrapper.egg-shiny::before,
.shiny-wrapper.safari-shiny::before{
    position:absolute;
    bottom:2px;
    right:2px;
    font-size:12px;
    text-shadow:0 0 2px #000;
}

.shiny-wrapper.secret-shiny::before{
    content:"\2605";
    color:#f1c40f;
}

.shiny-wrapper.egg-shiny::before{
    content:"\1F95A";
}

.shiny-wrapper.safari-shiny::before{
    content:"\1F334";
}

.shiny-wrapper.status-sold::after,
.shiny-wrapper.status-fled::after,
.shiny-wrapper.status-died::after,
.shiny-wrapper.status-dead::after,
.shiny-wrapper.status-bred::after{
    content:"";
    position:absolute;
    width:100%;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%) rotate(-45deg);
    color:#fff;
    font-size:12px;
    font-weight:bold;
    text-align:center;
    pointer-events:none;
    padding:2px 0;
}

.shiny-wrapper.status-sold::after{
    content:"SOLD";
    background:rgba(52,73,94,0.85);
}

.shiny-wrapper.status-fled::after{
    content:"FLED";
    background:rgba(231,76,60,0.85);
}

.shiny-wrapper.status-died::after,
.shiny-wrapper.status-dead::after{
    content:"DIED";
    background:rgba(149,165,166,0.85);
}

.shiny-wrapper.status-bred::after{
    content:"BRED";
    background:rgba(142,68,173,0.85);
}


.shiny-glow{
    animation: shinyPulse 1s infinite alternate;
    box-shadow: 0 0 15px rgba(255, 215, 0, 0.8);
}

@keyframes shinyPulse{
    from{transform:scale(1);}
    to{transform:scale(1.1);}
}

/* Override loader size for showcase */
.pc-loader,
.pc-loader:after {
    width: auto !important;
    height: auto !important;
}
@media (max-width: 575.98px) {
    .no-scroll-table {
        overflow-x: hidden;
    }
    .no-scroll-table td,
    .no-scroll-table th {
        white-space: normal;
    }
}

/* Global search dropdown styling */
.drp-search {
    min-width: 300px;
}

#global-search-results .list-group-item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#global-search-results {
    width: 100%;
}

#global-search-results .list-group-item {
    border: 0;
}

/* Profile tab styling */
.profile-tabs {
    margin-bottom: -1px;
}

.profile-tabs + .tab-content .card {
    border-top: 0;
}
/* Ensure profile avatars maintain square dimensions */
.social-profile .img-profile-avtar {
    height: 90px;
    object-fit: cover;
}

/* Donor avatar glitch effect with halo and stroke */
.donor-glitch{
    --halo-color: #6366f1;
    --stroke-color: rgba(255,255,255,.9);
    --halo-size: 10px;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    line-height: 0;
    border-radius: 50%;
    inline-size: min(100%, var(--avatar-size, 88px));
    aspect-ratio: 1/1;
    max-width: 100%;
    background: var(--avatar-url) center/cover no-repeat;
    background-color: #fff;
    box-shadow:
        0 0 0 2px var(--stroke-color),
        0 0 var(--halo-size) var(--halo-color);
}

.donor-glitch::before{
    content:'';
    position:absolute;
    inset:0;
    border-radius:inherit;
    background: var(--avatar-url) center/cover no-repeat;
    opacity:.5;
    mix-blend-mode: hard-light;
    animation: glitch2 10s linear infinite;
    pointer-events:none;
}

.donor-glitch:hover::before{ animation: glitch1 1s linear infinite; }

@keyframes glitch1{
    0%   { background-position:0 0; filter:hue-rotate(0deg);}
    10%  { background-position:5px 0;}
    20%  { background-position:-5px 0;}
    30%  { background-position:15px 0;}
    40%  { background-position:-5px 0;}
    50%  { background-position:-25px 0;}
    60%  { background-position:-50px 0;}
    70%  { background-position:0 -20px;}
    80%  { background-position:-60px -20px;}
    81%  { background-position:0 0;}
    100% { background-position:0 0; filter:hue-rotate(360deg);}
}

@keyframes glitch2{
    0%   { background-position:0 0; filter:hue-rotate(0deg);}
    10%  { background-position:15px 0;}
    15%  { background-position:-15px 0;}
    20%  { filter:hue-rotate(360deg);}
    25%  { background-position:0 0; filter:hue-rotate(0deg);}
    100% { background-position:0 0; filter:hue-rotate(0deg);}
}

@media (prefers-color-scheme: dark){
    .donor-glitch{
        --stroke-color: rgba(255,255,255,.25);
        background-color:#1a1a1a;
        --halo-color: #818cf8;
    }
}

.donor-star{
    position:absolute;
    top:4px;
    right:4px;
    background:gold;
    color:#fff;
    border-radius:50%;
    width:20px;
    height:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    cursor:pointer;
    box-shadow:0 0 2px rgba(0,0,0,0.5);
}
