body {
    margin: 0;
    font-family: 'Montserrat', Arial, sans-serif;
    background: #17020c;
    overflow-x: hidden;
}

.vegas-bg {
    position: fixed;
    z-index: 0;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at 70% 50%, #330d19 60%, #111 100%);
    animation: bg-anim 16s linear infinite;
}
@keyframes bg-anim {
    0% { background-position: 70% 50%;}
    100% { background-position: 30% 80%;}
}
.vegas-overlay {
    position: fixed;
    z-index: 1;
    top:0; left:0; right:0; bottom:0;
    pointer-events:none;
    background: url('https://pngimg.com/d/roulette_PNG50.png') no-repeat 80% 35%/150px auto,
                url('https://pngimg.com/d/dice_PNG62.png') no-repeat 10% 85%/70px auto,
                url('https://pngimg.com/d/poker_chip_PNG22.png') no-repeat 93% 13%/45px auto;
    opacity: 0.17;
    filter: blur(0.5px);
    animation: spin 80s linear infinite;
}
@keyframes spin {
    100% { filter: blur(2px); }
}

.welcome-banner {
    z-index: 3;
    position: relative;
    margin: 35px auto 25px auto;
    padding: 28px 12px;
    background: rgba(18,2,20,0.95);
    border-radius: 24px;
    max-width: 520px;
    box-shadow: 0 6px 40px 0 #ed9207cc;
    border: 2px solid #ffbb2a;
    text-align: center;
}
.welcome-banner .emoji {
    font-size: 2em;
    margin-right: 8px;
}
.welcome-banner .main {
    color: #ffe400;
    font-size: 2.2em;
    font-weight: 700;
    display: block;
    margin-bottom: 6px;
    letter-spacing: .03em;
}
.welcome-banner .desc {
    color: #fff8e2;
    font-size: 1.1em;
}
.welcome-banner .highlight { color: #ffbb2a; font-weight: bold; }

.bonus-list-container {
    position: relative;
    z-index: 3;
    max-width: 540px;
    margin: 0 auto 25px auto;
    min-height: 170px;
}
.bonus-list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 170px;
}
.bonus-card {
    background: rgba(22,9,29,0.92);
    border-radius: 18px;
    box-shadow: 0 4px 32px 0 #e8810f99;
    margin: 16px 0;
    padding: 24px 20px 18px 28px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    position: relative;
    min-height: 70px;
    transition: transform .22s cubic-bezier(.25,.97,.64,1.01);
    border: 1.2px solid #ffbb2a8c;
    opacity: 0.97;
}
.bonus-card .bonus-site {
    font-size: 1.5em;
    font-weight: 700;
    color: #25e1ff;
    margin-right: 15px;
    min-width: 95px;
    letter-spacing: 1.3px;
}
.bonus-card .bonus-amount {
    font-size: 1.35em;
    color: #ffe400;
    font-weight: bold;
    margin-right: 18px;
    min-width: 85px;
}
.bonus-card .bonus-desc {
    font-size: 1.07em;
    color: #fcefd8;
    margin-right: 12px;
    min-width: 90px;
}
.bonus-badge {
    background: linear-gradient(90deg,#ffbb2a 75%,#ff3d37 100%);
    color: #fff;
    font-size: .99em;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 12px;
    margin-right: 18px;
    animation: badgeblink .88s alternate infinite;
}
@keyframes badgeblink {
    100% { opacity: 0.68;}
}
.bonus-btn {
    font-size: 1.16em;
    font-weight: 600;
    background: linear-gradient(90deg,#0fffad 0,#f7e200 60%,#ff9c00 100%);
    color: #111;
    border: none;
    border-radius: 14px;
    padding: 13px 32px 13px 18px;
    box-shadow: 0 2px 10px 0 #ffbb2a80;
    cursor: pointer;
    transition: box-shadow .19s, transform .14s;
    outline: none;
    position: relative;
    display: flex; align-items: center;
}
.bonus-btn .mini {
    font-size: .78em;
    color: #ff2600;
    font-weight: bold;
    margin-left: 7px;
}
.bonus-btn:hover, .bonus-btn.jump {
    box-shadow: 0 0 20px 5px #ffbb2a77;
    background: linear-gradient(90deg,#edff00 0,#ffbb2a 100%);
    transform: scale(1.11) rotate(-1deg);
}
.abtest1 { animation: abflash 1.8s infinite linear alternate;}
.abtest2 { animation: abpop 2.5s infinite linear alternate;}
.abtest3 { animation: abstar 3s infinite linear alternate;}
@keyframes abflash { 60% {filter: brightness(1.15);} 100% {filter: brightness(0.92);} }
@keyframes abpop { 80% {transform: scale(1.10);} 100% {transform: scale(0.97);} }
@keyframes abstar { 70% {box-shadow: 0 0 15px #ffe400cc;} 100% {box-shadow: 0 0 7px #ffbb2a88;} }
.bonus-btn.jump { animation: jumpbtn .32s cubic-bezier(.25,.8,.50,1.7);}
@keyframes jumpbtn { 0%{transform:scale(1);} 40%{transform:scale(1.17) rotate(-3deg);} 100%{transform:scale(1.06);} }

.live-toast {
    z-index: 9999;
    position: fixed;
    right: 22px;
    bottom: 26px;
    background: #241713e7;
    color: #fff6de;
    padding: 14px 34px 14px 24px;
    border-radius: 15px;
    font-size: 1.08em;
    font-weight: 600;
    box-shadow: 0 4px 32px 0 #fd9600c8;
    border: 1.7px solid #ffbb2a;
    min-width: 210px;
    display: flex; align-items: center;
}
.live-toast .close-toast {
    background: none; border: none; color: #fff; font-size: 1.4em; margin-left: 15px; cursor: pointer; opacity: .5;
}
@media screen and (max-width: 720px) {
    .welcome-banner, .bonus-list-container { max-width: 98vw; }
    .bonus-card { flex-direction: column; align-items: flex-start; min-height: 110px;}
    .bonus-site, .bonus-amount, .bonus-desc { margin-right: 0; }
    .live-toast { right: 8px; left: 8px; bottom: 7px; min-width: unset; max-width: 98vw;}
}
