:root{
    --black: #000;
    --white: #fff;
    --ink-black: #040713;
    --navy: #4A5F88;
    --windsor-blue: #0C1326;
    --dark-sapphire: #121D3A;
    --card: #0A1124;
    --border: #1A2648;
    --purple: #6B2BE0;
    --purple-light: #9B5CFF;
    --blue: #2F6BFF;
    --red: #FF0004;
    --green: #6DFF29;
    --yellow: #FFB329;
    --display: 'Unbounded', 'Inter', sans-serif;
}
@font-face{
    font-family: 'Sprite Graffiti';
    src: url("../fonts/ofont.ru_Sprite Graffiti.ttf");
    font-display: swap;
}
@font-face{
    font-family: 'Benzin Bold';
    src: url("../fonts/Benzin-Bold.ttf");
    font-display: swap;
}
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    outline: none;
}
html{
    scroll-behavior: smooth;
}
body{
    position: relative;
    min-width: 320px;
    font-family: Inter, sans-serif;
    background: url('../images/bg.svg') var(--ink-black) no-repeat top center;
    color: var(--navy);
    overflow-x: hidden;
}
body:before{
    content: '';
    position: absolute;
    background: radial-gradient(38.93% 104.23% at 49.72% -3.73%, rgba(0, 74, 202, 0.4) 0%, rgba(0, 83, 138, 0) 100%);
    height: 567px;
    width: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
}
header, main, footer{
    position: relative;
    z-index: 1;
}
a{
    text-decoration: none;
    color: inherit;
}
img{
    max-width: 100%;
    display: block;
}
button, input{
    font: inherit;
    color: inherit;
}
button{
    border: none;
    box-shadow: none;
    background: none;
    cursor: pointer;
}
li{
    list-style: none;
}
.container{
    max-width: 1356px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: content-box;
}
.df{
    display: flex;
}
.a-center{
    align-items: center;
}
.j-center{
    justify-content: center;
}
.btn{
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: none;
    border: none;
    background: transparent;
}
.btn--primary{
    gap: 8px;
    color: var(--white);
    font-weight: 600;
    background: linear-gradient(180deg, #8A4DFF 0%, #5B1FD1 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 6px 20px rgba(107, 43, 224, .35);
    border-radius: 40px;
    transition: filter .2s;
}
.btn--primary:hover{
    filter: brightness(1.15);
}
.section-title{
    font-family:"Benzin Bold", sans-serif;
    font-weight: 800;
    font-size: 22px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--white);
}

/* ---------- header ---------- */
.header-top{
    padding-top: 20px;
    padding-bottom: 10px;
}
.header-top__info{
    gap: 20px;
    font-weight: 400;
    font-size: 12px;
    line-height: 15px;
}
.header-top__content{
    justify-content: space-between;
}
.header-top__info span{
    position: relative;
    white-space: nowrap;
}
.header-top__info span:after{
    content: '';
    width: 2px;
    height: 2px;
    border-radius: 100%;
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--navy);
}
.header-top__info span:last-child:after{
    display: none;
}
.header-top__actions{
    gap: 20px;
}
.btn__music,
.btn__lang{
    position: relative;
    font-weight: 400;
    font-size: 15px;
    line-height: 16px;
    text-decoration: underline;
    text-decoration-style: dotted;
    background: linear-gradient(360deg, #999999 -71.32%, #FFFFFF 88.1%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.btn__music{
    padding-left: 20px;
}
.btn__music:before{
    content: '';
    width: 16px;
    height: 17px;
    position: absolute;
    left: 0;
    top: 0;
    background: url('../images/music_note_2.svg') no-repeat;
}
.btn__music.is-off{
    opacity: .5;
}
.btn__lang{
    padding-right: 15px;
}
.btn__lang:before{
    content: '';
    width: 8px;
    height: 5px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url('../images/lang-arrow.svg') no-repeat;
}
.header-primary{
    padding: 0 20px 0 33px;
    background: var(--windsor-blue);
    border-radius: 63px;
    max-width: 1420px;
    margin: 0 auto;
    height: 103px;
}
.nav{
    width: 100%;
    gap: 30px;
}
.header__logo{
    flex-shrink: 0;
}
.menu{
    gap: 6px;
}
.menu__link{
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 11px 16px;
    border-radius: 40px;
    border: 1px solid transparent;
    font-weight: 500;
    font-size: 14px;
    color: var(--white);
    white-space: nowrap;
    transition: background .2s;
}
.menu__link img{
    width: 16px;
}
.menu__link:hover{
    background: var(--dark-sapphire);
}
.menu__link--active{
    background: linear-gradient(180deg, #993AFF -36.06%, #3D0072 119.34%);
    position: relative;
    box-shadow: 0px 0px 11.4px 2px #6600FF85;
}

.user{
    margin-left: auto;
    gap: 10px;
}
.user__pill{
    display: flex;
    align-items: center;
    gap: 8px;
    height: 42px;
    padding: 0 18px;
    border-radius: 40px;
    background: var(--dark-sapphire);
    font-weight: 500;
    font-size: 14px;
    color: var(--white);
    white-space: nowrap;
}
.user__items img{
    width: 24px;
}
.user__balance{
    padding-left: 6px;
}
.user__balance img{
    width: 30px;
}
.user__deposit{
    position: relative;
    height: 42px;
    padding: 0 18px;
    font-size: 14px;
    background: linear-gradient(180deg, #993AFF -36.06%, #3D0072 119.34%);
}
/* gradient border: border-image ignores border-radius, so it's a masked layer */
.user__deposit::before,
.menu__link--active::before,
.hero__btn::before,
.price::before,
.user__login::before,
.open-panel__open::before{
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background:
        linear-gradient(0deg, rgba(204, 94, 255, 0) 48.32%, #B879FF 53.08%),
        linear-gradient(180deg, rgba(118, 87, 255, 0) 42.16%, #762BD2 102.15%),
        linear-gradient(0deg, #330066, #330066);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    pointer-events: none;
}
/* menu link has a 1px transparent border, cover it */
.menu__link--active::before{
    inset: -1px;
}
.user__deposit img{
    width: 14px;
}
.user__profile{
    padding-left: 6px;
    padding-right: 14px;
}
.user__avatar{
    width: 30px;
    height: 30px;
    border-radius: 50%;
}
.user__profile img:last-child{
    width: 11px;
    margin-left: 4px;
}
.burger{
    display: none;
    width: 42px;
    height: 42px;
    margin-left: auto;
    border-radius: 50%;
    background: var(--dark-sapphire);
}
.burger span,
.burger span:before,
.burger span:after{
    display: block;
    width: 18px;
    height: 2px;
    margin: 0 auto;
    background: var(--white);
    position: relative;
    transition: transform .2s, background .2s;
}
.burger span:before,
.burger span:after{
    content: '';
    position: absolute;
    left: 0;
}
.burger span:before{ top: -6px; }
.burger span:after{ top: 6px; }
.menu-open .burger span{ background: transparent; }
.menu-open .burger span:before{ transform: translateY(6px) rotate(45deg); }
.menu-open .burger span:after{ transform: translateY(-6px) rotate(-45deg); }

/* ---------- drops ---------- */
.drops{
    padding: 25px 0 0 calc((100% - 1356px) / 2);
    overflow: hidden;
}
.drops__inner{
    gap: 12px;
}
.drops__group{
    flex-shrink: 0;
}
.drops__group--live{
    flex-shrink: 1;
    min-width: 0;
}
.drops__label{
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    white-space: nowrap;
    font-weight: 500;
    font-size: 12px;
    text-transform: uppercase;
    background: linear-gradient(360deg, #BA5D00 -63.64%, #FFDB27 78.49%);

    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;

}
.drops__label--live{
    font-weight: 500;
    background: linear-gradient(360deg, #999999 -71.32%, #FFFFFF 88.1%);

    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.drops__crown{
    width: 12px;
    height: 9px;
    background: var(--yellow);
    clip-path: polygon(0 20%, 25% 55%, 50% 0, 75% 55%, 100% 20%, 90% 100%, 10% 100%);
}
.drops__live{
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1.5px solid var(--white);
    position: relative;
}
.drops__live:after{
    content: '';
    position: absolute;
    inset: 2px;
    border-radius: 50%;
    background: var(--white);
    animation: pulse 1.6s infinite;
}
@keyframes pulse{
    50%{ opacity: .3; }
}
.drops__list{
    gap: 10px;
}
.drop{
    position: relative;
    flex-shrink: 0;
    width: 137px;
    height: 100px;
    padding: 8px 10px;
    border-radius: 14px;
    overflow: hidden;
    color: var(--white);

}
.drop:after{
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
}
.drop:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url('../images/mask.svg') no-repeat;
    z-index: 0;
}
/* gradient border via border-box layer: both pseudo-elements are taken */
.drop--purple{
    border: 1px solid transparent;
    background:
        linear-gradient(180deg, #1A1440 0%, #5B2A8A 100%) padding-box,
        linear-gradient(180deg, rgba(0, 0, 0, 0) 81%, #ED63FF 100%) border-box,
        linear-gradient(180deg, #1A1440 0%, #5B2A8A 100%) border-box;
}
.drop--purple-light{
    border: 0;
    background: linear-gradient(180deg, rgba(50, 23, 75, .37) 2%, #9D3DFF 273%);
}
/* translucent fill would show a border-box layer through it, so the border is a masked :after */
.drop--purple-light:after{
    top: 0;
    height: auto;
    padding: 1px;
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 81%, #9D3DFF 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
/*.drop--purple:after{ background: #C04BFF; }*/
.drop--blue{
    border: 1px solid transparent;
    background:
        linear-gradient(180deg, #111A3A 0%, #1F3B8A 100%) padding-box,
        linear-gradient(180deg, rgba(0, 0, 0, 0) 81%, #3D7BFF 100%) border-box,
        linear-gradient(180deg, #111A3A 0%, #1F3B8A 100%) border-box;
}
/*.drop--blue:after{ background: #3D7BFF; }*/
.drop--grey{
    border: 1px solid transparent;
    background:
        linear-gradient(180deg, #151B2B 0%, #3A4258 100%) padding-box,
        linear-gradient(180deg, rgba(0, 0, 0, 0) 81%, #8E98B5 100%) border-box,
        linear-gradient(180deg, #151B2B 0%, #3A4258 100%) border-box;
}
/*.drop--grey:after{ background: #8E98B5; }*/
.drop__type{
    display: block;
    font-weight: 400;
    font-size: 10px;
    line-height: 1.14;
    color: rgba(255, 255, 255, .55);
    z-index: 1;
    position: relative;
}
.drop__name{
    display: block;
    font-weight: 600;
    font-size: 12px;
    line-height: 12px;
    letter-spacing: -0.01em;
    z-index: 1;
    position: relative;

}
.drop img{
    position: relative;
    width: auto;
    z-index: 1;
    margin-top: 9px;
}
.drop__price{
    position: absolute;
    right: 10px;
    bottom: 9px;
    font-weight: 500;
    font-size: 14px;
    line-height: 15px;
    z-index: 1;
}
.drop__price span{
    font-weight: 700;
}

/* ---------- hero ---------- */
.hero{
    padding-top: 44px;
}
.hero__banner{
    position: relative;
        height: 333px;
    padding: 35px 24px 25px;
    border-radius: 22px;
    background: url('../images/Mask group (1).webp') center / cover no-repeat;

}
.hero__content{
    position: relative;
    z-index: 2;
    max-width: 640px;
}
.hero__title{
    font-family: var(--display);
    font-weight: 900;
    font-size: 42px;
    line-height: 1.08;
    text-transform: uppercase;
    background: linear-gradient(90deg, #FFFFFF 59.58%, rgba(255, 255, 255, 0.35) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 2px;
}
.hero__subtitle{
    position: relative;
    z-index: 0;
    display: inline-block;
    font-family: 'Sprite Graffiti', var(--display);
    font-weight: 400;
    font-size: 45px;
    line-height: 1.08;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    background: linear-gradient(90deg, #FFFFFF 59.58%, rgba(255, 255, 255, 0.35) 100%),
    linear-gradient(0deg, #FFFFFF, #FFFFFF);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero__subtitle:after{
    content: '';
    position: absolute;
    left: 0;
    bottom: -35px;
    width: 352px;
    height: 40px;
    background: url('../images/Vector 139.svg') no-repeat right bottom / contain;
    z-index: -1;
}
.hero__text{
    max-width: 312px;
    margin-top: 70px;
    font-size: 14px;
    line-height: 1.45;
    color: #9AA8C8;
}
.hero__btn{
    width: 234px;
    height: 58px;
    margin-top: 13px;
    font-family: var(--display);
    font-weight: 800;
    font-size: 16px;
    text-transform: uppercase;
    background: linear-gradient(180deg, #993AFF -36.06%, #3D0072 119.34%);
    position: relative;
    box-shadow: 0px 0px 11.4px 2px #6600FF85;
    text-shadow: 0px 1px 2.2px 0px #00000094;

}
.hero__btn-text{
    background: linear-gradient(360deg, #999999 -71.32%, #FFFFFF 88.1%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero__panda{
    position: absolute;
    right: 182px;
    bottom: 0;
    width: 489px;
}

/* ---------- cases ---------- */
.cases{
    padding-top: 54px;
}
.cases__head{
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
}
.cases__count{
    font-weight: 400;
    font-size: 12px;
    line-height: 1.08;
}
.tabs{
    gap: 24px;
    margin-bottom: 11px;
}
.tabs__item{
    border-bottom: 1px solid transparent;
    font-weight: 500;
    font-size: 12px;
    line-height: 15px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color:#3e598e;
    transition: color .2s;
    position: relative;
}
.tabs__item:before{
    content: '';
    width: 2px;
    height: 2px;
    position: absolute;
    border-radius: 100%;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    background: #3e598e;
}
.tabs__item:last-child:before{
    display: none;
}
.tabs__item:hover{
    color: var(--white);
}
.tabs__item--active{
    color: var(--white);
}
.tabs__item--active:after {
    content: '';
    position: absolute;
    bottom: -5px;
    width: 100%;
    left: 0;
    height: 2px;
    background: linear-gradient(270deg, rgba(0, 149, 255, 0) 0.97%, #0095FF 45.64%, rgba(0, 149, 255, 0) 92.99%);

}
.filter{
    flex-wrap: wrap;
    gap: 16px 30px;
    margin-top: 14px;
    padding: 13px 35px 13px 25px;
    border-radius: 40px;
    background: #081122;
}
.filter input{
    background: none;
    border: none;
}
.filter__search{
    flex: 1;
    min-width: 200px;
    max-width: 469px;
    padding: 13px 4px 13px 17px;
    height: 42px;
    gap: 10px;
    background: #081122;
    border: 1px solid #001838;
    border-radius: 41px;
    backdrop-filter: blur(4.199999809265137px);
}
.filter__search input{
    flex: 1;
    min-width: 0;
    font-size: 12px;
}
.filter__search input::placeholder{
    color: var(--navy);
}
.filter__search-btn{
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #111c38;
    display: flex;
    align-items: center;
    justify-content: center;
}
.filter__price{
    gap: 4px;
}
.filter__price-field{
    display: flex;
    align-items: center;
    gap: 6px;
    width: 112px;
    height: 40px;
    padding: 0 18px;
    background: #040713;

    border: 1px solid #001838;
    border-radius: 41px;

    backdrop-filter: blur(4.199999809265137px);
    font-size: 12px;
}
.filter__price-field input{
    flex: 1;
    min-width: 0;
    font-weight: 500;
    font-size: 14px;
    line-height: 21px;
    text-align: left;

    color: #3d588e;
}
.filter__price-field span{
    font-weight: 600;
    font-size: 15px;
    line-height: 16px;
    text-align: left;
    color: #3e598e;
    font-family: 'Kanit', sans-serif;
    box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.43);
}
.filter__dash{
    width: 24px;
    height: 24px;
    background: url('../images/arrow_left_alt.svg') no-repeat   ;
}
.filter__rarity{
    gap: 9px;
}
.rarity{
    display: inline-flex;
    align-items: flex-end;
    gap: 10px;
}
button.rarity{
    height: 42px;
    width: 75px;
    padding: 0 8px;
    border-radius: 41px;
    align-items: center;
    border: 1px solid transparent;
    display: flex;
    justify-content: center;
    gap: 10px;
    background: #0d152a;
}
button.rarity.is-active{
    border-color: var(--purple-light);
}
.rarity i{
    width: 5px;
    height: 18px;
    border-radius: 3px 3px 1px 1px / 6px 6px 1px 1px;
    background: #29447B;
}
/* box-shadow doesn't render on svg, so the glow is a drop-shadow on the svg */
.rarity--green svg:first-child path{ fill: var(--green); }
.rarity--green svg:first-child{ filter: drop-shadow(0 2px 4.8px #3CFF00); }
.rarity--yellow svg:first-child path,
.rarity--yellow svg:nth-child(2) path{ fill: var(--yellow); }
.rarity--yellow svg:first-child,
.rarity--yellow svg:nth-child(2){ filter: drop-shadow(0 2px 4.8px #FFB329); }
.rarity--red svg path{ fill: var(--red); }
.rarity--red svg{ filter: drop-shadow(0 2px 4.8px #FF2929BD); }
.rarity--static i{
    width: 4px;
    height: 14px;
}
.switch{
    gap: 12px;
    font-weight: 400;
    font-size: 14px;
    line-height: 21px;
    text-align: left;
    font-family: 'Kanit', sans-serif;
    color: #3e598e;
}
.switch input{
    display: none;
}
.switch__track{
    position: relative;
    width: 52px;
    height: 24px;
    border-radius: 41px;
    background: #111b38;
    transition: background .2s;
}
.switch__track:after{
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--navy);
    transition: transform .2s, background .2s;
}
.switch input:checked + .switch__track{
    background: var(--purple);
}
.switch input:checked + .switch__track:after{
    transform: translateX(28px);
    background: var(--white);
}
.filter__reset{
    gap: 6px;
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
    text-align: left;

    color: #3e598e;
}
.filter__reset img{
    width: 16px;
}
.cases__grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px 60px;
    margin-top: 45px;
}
.case{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 330px;
    padding: 0 18px 20px;
    border-radius: 22px;
    background: linear-gradient(180deg, #0F1A3A 0%, #0A1024 100%);
    transition: transform .25s, border-color .25s;
    overflow: hidden;
}
.case-sakura:before{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url('../images/sakura.png')  no-repeat top right;
}
.case--dragon{
    background: linear-gradient(0deg, #040C1B, #040C1B),
    linear-gradient(180deg, rgba(255, 65, 68, 0.0896) -25.9%, rgba(11, 21, 40, 0) 90.96%),
    radial-gradient(61.11% 53.92% at 52.3% 39.76%, rgba(255, 4, 37, 0.4) 0%, rgba(41, 11, 12, 0) 100%);

}
.case--dragon:before{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url('../images/dragon.png')  no-repeat top right;
}
.case--nightmare:before{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url('../images/nightmare.png')  no-repeat top right;
}
.case--nightmare{
    background: linear-gradient(0deg, #081122, #081122),
    linear-gradient(180deg, rgba(255, 65, 131, 0.0798) -30.42%, rgba(11, 21, 40, 0) 90.96%),
    radial-gradient(52.7% 45.78% at 52.64% 36.75%, rgba(155, 0, 13, 0.2592) 0%, rgba(255, 0, 4, 0) 100%);

}
.case--nefrit:before{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url('../images/nefrit.png')  no-repeat;
    z-index: -1;
}
.case--nefrit{
    background: url('../images/nefrit.png')  no-repeat;
}
.case--dumplings {
    background: url('../images/dumpling-bg.png') no-repeat;
}
.case--dumplings:before{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url('../images/dumplings.png')  no-repeat;

}

.case--disco{
    background: url('../images/disco.png')  no-repeat;
}
.case--hommade{
    background: url('../images/hommade.png')  no-repeat;
}
.case-fishing{
    background: linear-gradient(0deg, #081122, #081122),
    linear-gradient(180deg, rgba(65, 249, 255, 0.0126) -25.9%, rgba(11, 31, 40, 0) 90.96%),
    radial-gradient(42.51% 37.65% at 53.99% 37.05%, rgba(31, 145, 166, 0.53) 0%, rgba(17, 130, 161, 0) 100%);

}
.case-fishing:before{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: url('../images/fishing.png')  no-repeat;

}
.case:hover{
    transform: translateY(-6px);
    border-color: #3B4E85;
}
.case__img{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 188px;
}
.case__img img{
    max-height: 100%;
    transition: transform .3s;
}
.case:hover .case__img img{
    transform: scale(1.05);
}
.case__name{
    margin-top: 20px;
    font-family: "Benzin Bold", sans-serif;
    font-weight: 800;
    font-size: 26px;
    line-height: 1.2;
    text-transform: uppercase;
    background: linear-gradient(90deg, #FFFFFF 12.66%, rgba(255, 255, 255, 0) 124.05%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;

}
.case__bottom{
    justify-content: space-between;
    margin-top: 12px;
}
.price{
    display: flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 4px 0 16px;
    border-radius: 30px;
    background: linear-gradient(180deg, #993AFF -36.06%, #3D0072 119.34%);
    position: relative;
    box-shadow: 0px 0px 11.4px 2px #6600FF85;
    font-weight: 600;
    font-size: 14px;
    color: var(--white);
}
.price img{
    width: 28px;
}
.case__badge{
    position: absolute;
    z-index: 2;
}
.case__badge--new{
    top: 12px;
    right: 14px;

    border-radius: 6px;
    background: url('../images/new.svg') no-repeat;
    background-size: contain;
    width: 44px;
    height: 28px;
}
.case__badge--hot{
    top: 14px;
    right: 16px;
    width: 24px;
    height: 24px;
    background: url('../images/hot.svg') no-repeat;
}

/* ---------- stats ---------- */
.stats{
    padding-top: 64px;
}
.stats__grid{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 44px 56px;
}
.stat{
    position: relative;
    height: 240px;
    padding: 24px 30px;
    border-radius: 22px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.stat--purple{
    background: linear-gradient(90deg, #0E1330 0%, #3A1A6E 60%, #6B2BAE 100%);
}
.stat--blue{
    background: linear-gradient(90deg, #0E1330 0%, #14246A 60%, #1E3BB0 100%);
}
.stat--teal{
    background: linear-gradient(90deg, #0E1330 0%, #0F2E48 60%, #11587A 100%);
}
.stat--pink{
    background: linear-gradient(90deg, #0E1330 0%, #3A1648 60%, #8A2A6A 100%);
}
.stat__label{
    position: relative;
    z-index: 1;
    max-width: 380px;
    font-family: "Benzin Bold", sans-serif;
    font-weight: 900;
    font-size: 66px;
    line-height: .9;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .12);
    background: linear-gradient(90deg, #FFFFFF -6.36%, rgba(255, 255, 255, 0.11) 82.98%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    opacity: .22;
}
.stat__value{
    position: relative;
    z-index: 2;
    font-family: "Benzin Bold", sans-serif;

    font-size: 45px;
    line-height: 1.01;
    background: linear-gradient(90deg, #FFFFFF -0.44%, rgba(255, 255, 255, 0.19) 84.89%),
    linear-gradient(0deg, #FFFFFF, #FFFFFF);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.stat__img{
    position: absolute;
    right: 0;
    bottom: 0;
    height: 100%;
    width: auto;
    max-width: 100%;
    object-fit: cover;
    object-position: right bottom;
}

/* ---------- footer ---------- */
.footer{
    margin-top: 50px;
    padding-bottom: 24px;
}
.footer > .container{
    background: linear-gradient(270deg, rgba(51, 51, 91, 0) 0.97%, #33335B 45.64%, rgba(51, 51, 91, 0) 99.81%) top / 100% 1px no-repeat;
    padding-top: 56px;
}
.footer__grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.footer__card{
    display: flex;
    flex-direction: column;
    min-height: 286px;
    padding: 24px 28px 28px;
    background: #081022;

    border-radius: 32px;

    backdrop-filter: blur(7.300000190734863px);
}
.footer__logo{
    gap: 13px;
    color: var(--white);
}
.footer__logo b{
    display: block;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;

}
.footer__logo small{
    display: block;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.03;
    text-align: left;
    max-width: 120px;
    color: #3e598e;
}
.footer__legal{
    margin-top: auto;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.56;
    text-align: left;
    font-family: 'Kanit', sans-serif;
    color: #3e598e;
}
.footer__title{
    max-width: 200px;
    font-family: "Benzin Bold", sans-serif;
    font-size: 15px;
    line-height: 1.03;
    text-transform: uppercase;
    background: linear-gradient(90deg, #9CABC5 -29.11%, #0E2040 95.27%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.footer__links{
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
}
.footer__links--cols{
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: start;
    gap: 12px 40px;
}
.footer__links a{
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 400;
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0.06em;
    text-align: left;
    font-family: 'Kanit', sans-serif;
    color: #3e598e;
    transition: color .2s;
}
.footer__links a svg path{
    fill: #3e598e;
}
.footer__links a:hover{
    color: var(--white);
}
.footer__links a:hover svg path{
    fill: var(--white);
}
.footer__links img{
    width: 14px;
    opacity: .6;
}
.socials{
    gap: 10px;
    margin-top: 30px;
}
.socials a{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--dark-sapphire);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s;
}
.socials a:hover{
    background: var(--white);
}
.socials img{
    max-width: 16px;
    max-height: 16px;
}
.footer__bottom{
    flex-wrap: wrap;
    gap: 10px 50px;
    margin-top: 30px;
    font-weight: 400;
    font-size: 14px;
    line-height: 21px;
    letter-spacing: 0.06em;
    font-family: 'Kanit', sans-serif;
}
.footer__bottom > *{
    position: relative;
}
.footer__bottom > *:not(:last-child):after{
    content: '';
    position: absolute;
    right: -26px;
    top: 50%;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: var(--navy);
}
.footer__bottom a:hover{
    color: var(--white);
}

/* ---------- open case ---------- */
.user__login{
    height: 42px;
    padding: 0 20px;
    font-family: var(--display);
    font-weight: 800;
    font-size: 11px;
    text-transform: uppercase;
    background: linear-gradient(180deg, #993AFF -36.06%, #3D0072 119.34%);
    position: relative;
    box-shadow: 0px 0px 11.4px 2px #6600FF85;
}
.opencase{
    padding-top: 50px;
}
.opencase__head{
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
}
.opencase__crumb{
    font-weight: 500;
    font-size: 12px;
    line-height: 1.08;
    text-align: left;
    font-family: 'Kanit', sans-serif;
    color: #ffffff;
}
.opencase__title{
    display: flex;
    align-items: flex-start;
    gap: 14px;
    font-family:'Benzin Bold', sans-serif;
    font-weight: 900;
    font-size: 78px;
    line-height: 1.24;
    text-transform: uppercase;
    background: linear-gradient(180deg, #FFFFFF -82.35%, rgba(255, 255, 255, 0) 135.95%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.opencase__title .rarity{
    margin-top: 6px;
}
.opencase__stage{
    position: relative;
    max-width: 1440px;
    margin: 18px auto 0;
    padding: 0 120px;
}
.opencase__frame{
    position: relative;
    height: 355px;
    overflow: hidden;
    background: url('../images/frame.svg') no-repeat;
    /*background: linear-gradient(90deg, rgba(4, 7, 19, .9) 0%, rgba(18, 12, 48, .6) 30%, rgba(18, 12, 48, .6) 70%, rgba(4, 7, 19, .9) 100%);*/

}
.opencase__frame:after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height:100%;
    width: 100%;
    background: url('../images/frame-bg.png') no-repeat;
    z-index: -1;
}

.opencase__glow{
    position: absolute;
    left: 50%;
    top: 50%;
    width: 760px;
    height: 760px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(140, 60, 255, .85) 0%, rgba(90, 30, 200, .5) 22%, rgba(40, 10, 100, 0) 50%);
}
.opencase__glow:before,
.opencase__glow:after{
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    border-radius: 50%;
    border: 1px solid rgba(155, 92, 255, .25);
    transform: translate(-50%, -50%);
}
.opencase__glow:before{ width: 270px; height: 270px; }
.opencase__glow:after{ width: 600px; height: 600px; }
.opencase__case{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}
.opencase__case > img{
    height: 280px;
    width: auto;
    max-width: none;
    filter: drop-shadow(0 30px 30px rgba(0, 0, 0, .6));
    animation: float 4s ease-in-out infinite;
}
@keyframes float{
    50%{ transform: translateY(-10px); }
}
.opencase__price{
    position: absolute;
    top: 6px;
    right: -20px;
    display: flex;
    align-items: center;
    gap: 6px;
    height: 40px;
    padding: 0 4px 0 18px;
    border-radius: 30px;
    background: rgba(155, 92, 255, .35);
    backdrop-filter: blur(6px);
    font-weight: 600;
    font-size: 15px;
    color: var(--white);
}
.opencase__price img{
    width: 32px;
}
.opencase__tree,
.opencase__panda{
    position: absolute;
    z-index: 3;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}
.opencase__tree{
    left: 0;
    top: -40px;
    width: 420px;
    height: 460px;
    background-position: left bottom;
}
.opencase__panda{
    right: 0;
    top: -20px;
    width: 280px;
    height: 460px;
    background-position: right bottom;
}
/* case themes: tree/panda art and glow colour per case */
.opencase--sakura .opencase__tree{
    background-image: url('../images/sakura-tree.svg');
}
.opencase--sakura .opencase__panda{
    background-image: url('../images/panda-stand.svg');
}
.opencase--nightmare .opencase__tree{
    background-image: url('../images/nightmare-tree.svg');
}
.opencase--nightmare .opencase__panda{
    background-image: url('../images/nightmare-panda.svg');
}
.opencase--nightmare .opencase__frame{
    background: url('../images/frame.svg') no-repeat;
}
.opencase--nightmare .opencase__frame:after{
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: -5px;
    background: url("../images/frame-bg1.png") no-repeat;
}
.opencase--nightmare .opencase__glow{
    background: radial-gradient(circle, rgba(220, 30, 40, .85) 0%, rgba(150, 15, 25, .5) 22%, rgba(80, 5, 10, 0) 50%);
}
.opencase--nightmare .opencase__glow:before,
.opencase--nightmare .opencase__glow:after{
    border-color: rgba(255, 60, 70, .2);
}
.opencase--nightmare .opencase__price{
    background: rgba(255, 60, 70, .3);
}
.opencase--nightmare .opencase__title .rarity i{
    width: 6px;
    height: 22px;
}
.open-panel{
    max-width: 440px;
    margin: 36px auto 0;
    padding: 22px 30px 30px;
    background: rgba(9, 18, 35, 0.6499999761581421);

    border-radius: 32px;

    backdrop-filter: blur(15.199999809265137px);
    text-align: center;
}
.open-panel__label{
    font-weight: 400;
    font-size: 12px;
    line-height: 13px;
    letter-spacing: 0.02em;
    text-align: center;
    text-transform: uppercase;
    font-family: 'Kanit', sans-serif;
    color: #3e598e;
    margin-bottom: 15px;
}
.open-panel__label--btn{
    margin-top: 56px;
}
.open-panel__count{
    gap: 20px;
    margin-top: 10px;
    padding: 8px 11px;
    background: rgba(36, 25, 83, 0.4699999988079071);

    border-radius: 50.60599136352539px;
}
.open-panel__count-btn{
    flex: 1;
    height: 50px;
    border-radius: 30px;
    font-family: var(--display);
    font-weight: 700;
    font-size: 18px;
    color: var(--white);
    background: #201C5C87;
    backdrop-filter: blur(13.600000381469727px);

    transition: background .2s;
}
.open-panel__count-btn:hover{
    background: #22305C;
}
.open-panel__count-btn.is-active{
    /* radial glow first: the solid fill would cover it otherwise */
    background:
        radial-gradient(96.27% 128.4% at 50% 96.17%, #7D4DFF 0%, rgba(44, 40, 99, .02) 100%),
        #241A54;
}
.open-panel__anim{
    flex-wrap: wrap;
    gap: 6px 22px;
    margin-top: 15px;
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    text-transform: uppercase;

    color: #3e598e;
}
.open-panel__anim > *{
    position: relative;
}
.open-panel__anim > *:not(:last-child):after{
    content: '';
    position: absolute;
    right: -12px;
    top: 50%;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: var(--navy);
}
.open-panel__anim button{
    text-transform: uppercase;
    color: var(--navy);
}
.open-panel__anim button.is-active,
.open-panel__anim button:hover{
    color: var(--white);
}
.open-panel__open{
    width: 176px;
    height: 58px;
    margin: 12px auto 0;
    padding: 0 8px 0 24px;
    justify-content: space-between;
    font-family: "Kanit", sans-serif;
    font-weight: 500;
    font-size: 32px;
    line-height: 0.99;
    letter-spacing: 0.02em;
    background: linear-gradient(180deg, #993AFF -36.06%, #3D0072 119.34%);
    position: relative;
    box-shadow: 0px 0px 11.4px 2px #6600FF85;
}
.open-panel__open img{
    width: 40px;
}
.contents{
    padding-top: 85px;
}
.contents__title{
    position: relative;
    z-index: 0;
    width: fit-content;
    margin: 0 auto;
    padding: 0 10px 0px;
    font-family: 'Sprite Graffiti', var(--display);
    font-weight: 400;
    font-size: 33px;
    line-height: 1.08;
    letter-spacing: 0.04em;
    text-align: left;
    text-transform: uppercase;
    background: linear-gradient(90deg, #FFFFFF 16.03%, rgba(255, 255, 255, 0.35) 94.23%),
    linear-gradient(0deg, #FFFFFF, #FFFFFF);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.contents__title:after{
    content: '';
    position: absolute;
    left: 0;
    bottom: -30px;
    height: 30px;
    width: 100%;
    background: url('../images/case1.svg') no-repeat center bottom / 100% 100%;
    z-index: -1;
}
.contents__grid{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px 16px;
    margin-top: 52px;
}
.drop--lg{
    width: auto;
    height: 152px;
    padding: 18px 18px;
    border-radius: 20px;
}
.drop--lg .drop__type{
    font-weight: 400;
    font-size: 16px;
    line-height: 1.14;
    font-family: 'Kanit', sans-serif;
}
.drop--lg .drop__name{
    font-weight: 600;
    font-size: 18px;
    line-height: 19px;
    letter-spacing: -0.01em;
    font-family: 'Kanit', sans-serif;

}
.drop--lg img{
    width: auto;
}
.drop--lg .drop__price{
    right: 15px;
    bottom: 13px;
    font-weight: 500;
    font-size: 21px;
    line-height: 23px;
    font-family: 'Kanit', sans-serif;
}
.drop--lg .drop__price span{
    font-weight: 700;
}
.drop--lg:before{
    background-size: cover;
}

/* ---------- responsive ---------- */
@media (max-width: 1420px){
    .header-primary{
        margin: 0 16px;
    }
    .drops{
        padding-left: 16px;
    }
    .menu__link{
        padding: 10px 10px;
    }
}
@media (max-width: 1280px){
    .burger{
        display: block;
        order: 3;
        margin-left: 0;
    }
    .menu{
        display: none;
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        right: 0;

        flex-direction: column;
        align-items: stretch;
        padding: 12px;
        border-radius: 24px;
        background: var(--windsor-blue);
        border: 1px solid var(--border);
        z-index: 999;
    }
    header{
        z-index: 9;
    }

    .menu-open .menu{
        display: flex;
    }
    .header-primary{
        position: relative;
    }
    .cases__grid{
        gap: 30px;
    }
    .hero__panda{
        right: 20px;
    }
}
@media (max-width: 1100px){
    .cases__grid{
        grid-template-columns: repeat(3, 1fr);
    }
    .hero__panda{
        width: 400px;
        opacity: .9;
    }
    .stats__grid{
        gap: 24px;
    }
    .stat__label{
        font-size: 40px;
    }
    .footer__grid{
        grid-template-columns: repeat(2, 1fr);
    }
    .contents__grid{
        grid-template-columns: repeat(4, 1fr);
    }
    .opencase__stage{
        padding: 0 60px;
    }
    .opencase__tree{
        width: 300px;
    }
    .opencase__panda{
        width: 200px;
    }
}
@media (max-width: 900px){
    .header-top__info span:nth-child(n+3){
        display: none;
    }
    .user__items,
    .user__profile span{
        display: none;
    }
    /* panda moves under the text, so the fixed desktop height has to go */
    .hero__banner{
        height: auto;
        padding-bottom: 300px;
    }
    .hero__panda{
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: 380px;
    }
    .cases__head{
        flex-direction: column;
        align-items: flex-start;
    }
    .cases__grid{
        grid-template-columns: repeat(2, 1fr);
        margin-top: 40px;
    }
    .stats__grid{
        grid-template-columns: 1fr;
    }
    .filter{
        border-radius: 24px;
        padding: 16px;
    }
    .filter__search{
        flex-basis: 100%;
    }
    /* frame art is a fixed 1206px image: stretch it to the narrower stage */
    .opencase .opencase__frame,
    .opencase .opencase__frame:after{
        background-size: 100% 100%;
    }
}
@media (max-width: 600px){
    .header-top__info{
        display: none;
    }
    .header-top__content{
        justify-content: flex-end;
    }
    .header-primary{
        height: 72px;
        padding: 0 12px 0 18px;
        margin: 0 10px;
    }
    .nav{
        gap: 10px;
    }
    .header__logo img{
        width: 28px;
    }
    .user{
        gap: 6px;
    }
    .user__deposit{
        width: 42px;
        padding: 0;
        font-size: 0;

    }
    .user__deposit img{
        margin-left: -6px;
    }
    .user__balance{
        padding-right: 12px;
    }
    .user__profile{
        padding: 0 10px 0 6px;
    }
    .hero__banner{
        padding: 24px 18px 260px;
    }
    .hero__title{
        font-size: 28px;
    }
    .hero__subtitle{
        font-size: 28px;
    }
    .hero__subtitle:after{
        width: 260px;
    }
    .hero__panda{
        width: 320px;
    }
    .hero__btn{
        width: 100%;
    }
    .tabs{
        gap: 14px;
        flex-wrap: wrap;
    }
    .filter__price-field{
        width: 110px;
    }
    .cases__grid{
        gap: 16px;
    }
    .case{
        min-height: 0;
        padding: 0 12px 14px;
        border-radius: 16px;
        background-size: 100% 100%;
    }
    .case__img{
        height: auto;
        margin-top: 10px;
    }
    .case__name{
        font-size: 15px;
        margin-top: 0;
    }
    .case__bottom{
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    .price{
        height: 30px;
        font-size: 12px;
        width: 100%;
        justify-content: center;
    }
    .price img{
        width: 22px;
    }
    .stat{
        height: 190px;
        padding: 20px;
    }
    /* card is too narrow to keep the art beside the label: keep the label on top */
    .stat__label{
        z-index: 3;
        font-size: 30px;
        max-width: 230px;
    }
    .stat__value{
        font-size: 30px;
    }
    .footer__grid{
        grid-template-columns: 1fr;
    }
    .opencase__stage{
        padding: 0 16px;
    }
    .opencase__frame{
        height: 240px;
    }
    .opencase__case > img{
        height: 190px;
    }
    .opencase__title{
        gap: 10px;
        font-size: 32px;
    }
    .opencase__price{
        right: 0;
        top: -10px;
    }
    .opencase__tree,
    .opencase__panda{
        display: none;
    }
    .open-panel{
        padding: 20px 16px 24px;
    }
    .open-panel__label--btn{
        margin-top: 30px;
    }
    .contents__grid{
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .footer__card{
        min-height: 0;
        gap: 24px;
    }
    .footer__bottom{
        flex-direction: column;
        align-items: flex-start;
    }
    .footer__bottom > *:after{
        display: none;
    }
    .drops__inner{
        flex-direction: column;
    }
}


/* ---------- dropdowns ---------- */
header{
    z-index: 9;
}
.dropdown{
    position: relative;
}
.dropdown__menu{
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 20;
    min-width: 180px;
    padding: 8px;
    list-style: none;
    border-radius: 18px;
    border: 1px solid var(--border);
    background: rgba(12, 19, 38, .96);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45), 0 0 0 1px rgba(155, 92, 255, .08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .2s, transform .2s, visibility .2s;
}
.dropdown.is-open .dropdown__menu{
    opacity: 1;
    visibility: visible;
    transform: none;
}
.dropdown__item{
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    font-weight: 500;
    font-size: 14px;
    color: #A9B6D6;
    text-align: left;
    white-space: nowrap;
    transition: background .2s, color .2s;
}
.dropdown__item img{
    width: 16px;
    opacity: .8;
}
.dropdown__item:hover{
    background: var(--dark-sapphire);
    color: var(--white);
}
.dropdown__item.is-active{
    color: var(--white);
    background: linear-gradient(180deg, rgba(153, 58, 255, .35) -36%, rgba(61, 0, 114, .35) 119%);
}
.dropdown__item--danger{
    color: #FF6B6B;
}
.dropdown__item--danger:hover{
    color: #FF8A8A;
    background: rgba(255, 60, 70, .12);
}
.dropdown__sep{
    height: 1px;
    margin: 6px 4px;
    background: var(--border);
}
.dropdown__head{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 8px 12px;
    color: var(--white);
    font-weight: 600;
    font-size: 14px;
}
.dropdown__head small{
    display: block;
    margin-top: 2px;
    font-weight: 400;
    font-size: 12px;
    color: var(--navy);
}
.dropdown__head .user__avatar{
    width: 36px;
    height: 36px;
}
.dropdown--lang .dropdown__menu{
    min-width: 150px;
}
.btn__lang:before{
    transition: transform .2s;
}
.dropdown.is-open .btn__lang:before{
    transform: translateY(-50%) rotate(180deg);
}
button.user__profile{
    border: 0;
}
.user__profile img:last-child{
    transition: transform .2s;
}
.dropdown.is-open .user__profile img:last-child{
    transform: rotate(180deg);
}

/* ---------- hovers ---------- */
.btn--primary{
    transition: filter .2s, transform .2s, box-shadow .2s;
}
.btn--primary:active{
    transform: translateY(0) scale(.97);
}
.user__pill,
.burger,
.btn__music,
.btn__lang,
.drop,
.drop img,
.stat,
.stat__img,
.footer__card,
.socials a,
button.rarity,
.filter__price-field,
.open-panel__count-btn,
.menu__link img{
    transition: transform .25s, background .2s, border-color .2s, box-shadow .25s, filter .2s;
}
.drop{ --drop-glow: 155, 92, 255; }
.drop--purple-light{ --drop-glow: 157, 61, 255; }
.drop--grey{ --drop-glow: 142, 152, 181; }
.drop--blue{ --drop-glow: 61, 123, 255; }
/* .drops clips overflow: room below the strip for the hover shadow */
.drops__list{
    padding-bottom: 16px;
    margin-bottom: -16px;
}
.case{
    --case-glow: 155, 92, 255;
    transition: transform .25s, box-shadow .3s;
}
.case--dragon,
.case--nightmare{ --case-glow: 255, 60, 70; }
.case--nefrit{ --case-glow: 60, 220, 140; }
.case-fishing{ --case-glow: 40, 190, 230; }
.case--dumplings,
.case--hommade{ --case-glow: 255, 170, 60; }
/* thin border and a faint glow along the bottom edge, shown on hover */
.case:after{
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    border-radius: inherit;
    box-shadow:
        inset 0 0 0 1px rgba(var(--case-glow), .45),
        inset 0 -50px 50px -40px rgba(var(--case-glow), .45);
    opacity: 0;
    transition: opacity .3s;
    pointer-events: none;
}
.case .price{
    transition: filter .2s, box-shadow .25s;
}

@media (hover: hover){
    .btn--primary:hover{
        filter: brightness(1.12);
        transform: translateY(-2px);
        box-shadow: 0 0 20px 4px rgba(102, 0, 255, .6);
    }
    .menu__link:hover{
        border-color: rgba(155, 92, 255, .3);
    }
    .menu__link:hover img{
        transform: scale(1.15);
    }
    .menu__link--active:hover{
        filter: brightness(1.12);
    }
    .user__pill:hover,
    .dropdown.is-open .user__pill{
        background: #1A2850;
        box-shadow: inset 0 0 0 1px rgba(155, 92, 255, .35);
    }
    .burger:hover{
        background: #1A2850;
    }
    .btn__music:hover,
    .btn__lang:hover{
        filter: brightness(1.4);
    }
    .drop:hover{
        transform: translateY(-4px);
        filter: brightness(1.12);
        box-shadow: 0 10px 20px -8px rgba(var(--drop-glow), .65);
    }
    .drop:hover img{
        transform: scale(1.08) rotate(-3deg);
    }
    .case:hover{
        box-shadow: 0 18px 34px -16px rgba(var(--case-glow), .7);
    }
    .case:hover:after{
        opacity: 1;
    }
    .case:hover .price{
        filter: brightness(1.15);
        box-shadow: 0 0 16px 3px #6600FFA6;
    }
    .stat:hover{
        transform: translateY(-4px);
        box-shadow: 0 16px 30px -16px rgba(155, 92, 255, .55);
    }
    .stat__img{
        transform-origin: right bottom;
    }
    .stat:hover .stat__img{
        transform: scale(1.04);
    }
    .footer__card:hover{
        transform: translateY(-3px);
        box-shadow: inset 0 0 0 1px rgba(155, 92, 255, .25);
    }
    .socials a:hover{
        transform: translateY(-2px) scale(1.08);
    }
    button.rarity:hover{
        background: #142046;
        border-color: rgba(155, 92, 255, .35);
    }
    .filter__price-field:hover{
        box-shadow: inset 0 0 0 1px rgba(155, 92, 255, .3);
    }
    .open-panel__count-btn:hover{
        transform: translateY(-2px);
    }
}
