:root {
    --red: #e60000;
    --black: #000000;
    --light: #fafafa;
    --gray: #777777;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font: 16px/1.4 'Roboto', sans-serif;
    color: var(--black);
    background: var(--light);
    -webkit-font-smoothing: antialiased;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    width: 100%;
    height: auto;
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.flex-between {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mt-12 {
    margin-top: 12px;
}

.mw-240 {
    max-width: 240px;
}

.txt-gray {
    color: var(--gray);
}

.btn,
.btn-outline {
    padding: 10px 22px;
    font-weight: 700;
    cursor: pointer;
    border: 2px solid var(--red);
    font-family: 'Bebas Neue', cursive;
    letter-spacing: .5px;
    transition: background .2s, color .2s;
}

.btn {
    background: var(--red);
    color: #fff;
}

.btn:hover {
    background: #b90000;
}

.btn-outline {
    background: transparent;
    color: var(--red);
}

.btn-outline:hover {
    background: var(--red);
    color: #fff;
}

header {
    border-bottom: 4px solid var(--red);
    background: #fff;
}

.header-inner {
    padding: 12px 0;
}

.logo {
    font-family: 'Bebas Neue', cursive;
    font-size: 48px;
    color: var(--red);
    letter-spacing: 1px;
}

.logo-small {
    font-size: 32px;
}

.main-nav ul {
    list-style: none;
    display: flex;
    gap: 24px;
}

.main-nav a {
    font-family: 'Bebas Neue', cursive;
    font-size: 18px;
    position: relative;
}

.main-nav a:hover {
    color: var(--red);
}

.nav-right {
    gap: 24px;
    font-family: 'Bebas Neue', cursive;
    font-size: 18px;
}

.hero {
    position: relative;
    margin-top: 32px;
}

.hero img {
    height: 520px;
    object-fit: cover;
}

.hero-content {
    position: absolute;
    left: 40px;
    bottom: 40px;
    max-width: 360px;
    color: #fff;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, .7);
}

.hero-content h1 {
    font-family: 'Bebas Neue', cursive;
    font-size: 56px;
    line-height: 1;
}

.hero-content p {
    margin: 12px 0 24px;
    font-size: 14px;
}

.section-title {
    font-family: 'Bebas Neue', cursive;
    font-size: 36px;
    color: var(--red);
    margin: 60px 0 24px;
    border-bottom: 4px solid var(--red);
    padding-bottom: 4px;
}

.games-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 32px;
}

.game-card {
    background: #fff;
    border: 2px solid #ddd;
    display: flex;
    flex-direction: column;
    transition: transform .2s;
}

.game-card:hover {
    transform: translateY(-4px);
}

.game-card img {
    height: 180px;
    object-fit: cover;
}

.game-card h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 12px;
}

.game-card button {
    margin: 0 12px 16px;
}

.bonus-banner {
    background: var(--red);
    color: #fff;
    text-align: center;
    padding: 60px 20px;
    margin: 80px 0;
}

.bonus-banner h2 {
    font-family: 'Bebas Neue', cursive;
    font-size: 48px;
    margin-bottom: 12px;
}

.bonus-banner p {
    max-width: 500px;
    margin: 0 auto 24px;
}

footer {
    border-top: 4px solid var(--red);
    padding: 40px 0;
    background: #fff;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 32px;
    font-size: 14px;
}

.footer-heading {
    font-family: 'Bebas Neue', cursive;
    font-size: 18px;
    color: var(--red);
    margin-bottom: 12px;
}

.footer-list {
    list-style: none;
}

.footer-list li {
    margin-bottom: 6px;
}

footer .copyright {
    text-align: center;
    font-size: 13px;
    color: var(--gray);
    margin-top: 40px;
}

@media (max-width: 768px) {
    .logo {
        font-size: 40px;
    }

    .hero-content {
        left: 20px;
        bottom: 20px;
    }

    .hero-content h1 {
        font-size: 42px;
    }

    .games-grid {
        gap: 20px;
    }

    .bonus-banner {
        padding: 40px 20px;
        margin: 60px 0;
    }
}

@media (max-width: 500px) {
    .main-nav ul {
        display: none;
    }

    .nav-right {
        flex-direction: column;
        gap: 12px;
    }

    .logo {
        font-size: 34px;
    }

    .hero img {
        height: 380px;
    }

    .section-title {
        font-size: 28px;
        margin: 40px 0 16px;
    }
}

:root {
    --bg-deep: #13003b;
    --reel-back: #1e0050;
    --reel-edge: #ff6600;
}

.slot-area {
    background: var(--bg-deep);
    padding: 40px 0 60px;
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
}

.reels {
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-bottom: 34px;
}

.reel {
    width: 120px;
    height: 360px;
    background: var(--reel-back);
    border: 4px solid var(--reel-edge);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cell {
    width: 88px;
    height: 88px;
    margin: 8px 0;
    border-radius: 8px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.cell[data-placeholder] {
    background: #444
}

@keyframes blink {
    0%, 100% {
        outline-color: #ffe600
    }
    50% {
        outline-color: #fff400
    }
}

.highlight {
    outline: 4px solid #ffe600;
    animation: blink .6s ease 3
}

.panel {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
}

.bet {
    font-family: 'Bebas Neue', cursive;
    font-size: 22px;
}

.bet button {
    margin: 0 4px;
    padding: 6px 12px;
    border: 2px solid #fff;
    background: transparent;
    color: #fff;
    cursor: pointer;
    transition: background .2s, border-color .2s, color .2s;
}

.bet button.active,
.bet button:hover {
    background: var(--reel-edge);
    border-color: var(--reel-edge);
    color: #000;
}

.spin {
    background: var(--red);
    color: #fff;
    border: none;
    padding: 14px 40px;
    font-family: 'Bebas Neue', cursive;
    font-size: 28px;
    cursor: pointer;
    transition: background .2s;
}

.spin:hover {
    background: #b90000
}

.win {
    font-family: 'Bebas Neue', cursive;
    font-size: 22px;
    margin-top: 14px;
}

header .wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.balance {
    font-family: 'Bebas Neue', cursive;
    font-size: 20px;
    color: #000;
}

@media (max-width: 600px) {
    .reel {
        width: 22vw;
        height: 66vw;
    }

    .cell {
        width: 16vw;
        height: 16vw;
    }

    footer {
        padding: 32px 0;
    }
}

.disclaimer-banner {
    background: #e60000;
    color: #fff;
    font-family: 'Bebas Neue', cursive;
    font-size: 20px;
    line-height: 1.35;
    letter-spacing: .5px;
    padding: 22px 12px;
    text-align: center;
}

@media (max-width: 600px) {
    .disclaimer-banner {
        font-size: 16px;
        padding: 18px 10px;
    }
}


:root {
    --bg-deep: #13003b;
    --orange: #ff6600;
    --deg: 9.72973deg;
}

.roulette-area {
    background: var(--bg-deep);
    padding: 40px 0 60px;
    text-align: center;
    color: #fff
}

.wheel-wrapper {
    position: relative;
    width: 420px;
    height: 420px;
    margin: 0 auto 36px;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .5));
}

#wheel {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: conic-gradient(#049b00 0deg var(--deg), transparent var(--deg) 360deg),
    repeating-conic-gradient(#c40000 var(--deg) calc(3 * var(--deg)),
            #111 calc(3 * var(--deg)) calc(5 * var(--deg)));
}

.pointer {
    position: absolute;
    top: -24px;
    left: 50%;
    transform: translateX(-50%) rotate(180deg);
    width: 0;
    height: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-bottom: 32px solid #ffe600;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .6));
}

#numbersRing {
    position: absolute;
    inset: 0;
    list-style: none;
    margin: 0;
    padding: 0
}

#numbersRing li {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 24px;
    height: 24px;
    margin: -12px 0 0 -12px;
    display: flex;
    justify-content: center;
    align-items: center;
    font: 12px/1 'Bebas Neue', cursive;
    pointer-events: none
}

#numbersRing li.red {
    color: #ff4242
}

#numbersRing li.black {
    color: #bbb
}

#numbersRing li.green {
    color: #3cff5e
}

.roulette-panel {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap
}

.bet-color {
    padding: 8px 22px;
    font-family: 'Bebas Neue';
    font-size: 20px;
    cursor: pointer;
    border: 3px solid #fff;
    background: transparent;
    color: #fff;
    transition: background .2s
}

.bet-color.red {
    border-color: #c40000
}

.bet-color.black {
    border-color: #111
}

.bet-color.active, .bet-color:hover {
    background: var(--orange);
    color: #000
}

.field {
    font-family: 'Bebas Neue';
    font-size: 20px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fff
}

.field input {
    width: 70px;
    padding: 4px 6px;
    text-align: center;
    border: 2px solid #fff;
    background: #000;
    color: #fff
}

.field input:focus {
    outline: 2px solid var(--orange)
}

.spin {
    background: var(--red);
    color: #fff;
    border: none;
    padding: 14px 40px;
    font-family: 'Bebas Neue';
    font-size: 28px;
    cursor: pointer
}

.spin:hover {
    background: #b90000
}

.rl-result {
    font-family: 'Bebas Neue';
    font-size: 22px;
    margin-top: 12px
}

@media (max-width: 600px) {
    .wheel-wrapper {
        width: 80vw;
        height: 80vw
    }
}

:root{ --deg:9.72973deg; --bg-deep:#13003b; --orange:#ff6600 }

.roulette-area{background:var(--bg-deep);padding:40px 0 60px;text-align:center;color:#fff}

.wheel-zone     { position:relative; width:420px; height:420px; margin:0 auto 36px; }
.wheel-wrapper  { width:100%; height:100%; filter:drop-shadow(0 6px 14px rgba(0,0,0,.55)); }

#wheel{ width:100%; height:100%; border-radius:50%;
    background:
            conic-gradient(#049b00 0 var(--deg),transparent var(--deg) 360deg),
            repeating-conic-gradient(
                    #c40000 var(--deg) calc(2*var(--deg)),
                    #111    calc(2*var(--deg)) calc(3*var(--deg))
            );
}

.pointer{
    position:absolute; top:-26px; left:50%; transform:translateX(-50%);
    width:0; height:0;
    border-left:20px solid transparent; border-right:20px solid transparent;
    border-bottom:34px solid #ffe600;
    filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));
}

#numbersRing{position:absolute;inset:0;list-style:none;margin:0;padding:0}
#numbersRing li{
    position:absolute;left:50%;top:50%;
    width:26px;height:26px;margin:-13px 0 0 -13px;
    display:flex;justify-content:center;align-items:center;
    font:13px/1 'Bebas Neue',cursive;letter-spacing:.5px;
    pointer-events:none;color:#ccc}
#numbersRing li.red{color:#ff4242}#numbersRing li.black{color:#aaa}#numbersRing li.green{color:#3cff5e}

@media(max-width:600px){
    .wheel-zone{width:80vw;height:80vw}
}

.article-page        { max-width:900px; margin:0 auto; padding:40px 0 60px; line-height:1.55; }
.article-page section{ margin-bottom:48px; }

.page-title{
    font-family:'Bebas Neue',cursive;
    font-size:48px;
    color:var(--red);
    margin:20px 0 8px;
}

.article-page h2{
    font-family:'Bebas Neue',cursive;
    font-size:30px;
    color:var(--orange);
    margin:28px 0 12px;
}
.article-page h3{
    font-family:'Bebas Neue',cursive;
    font-size:22px;
    margin:24px 0 8px;
}

.toc{
    background:#fff;
    border-left:4px solid var(--red);
    padding:16px 18px;
    margin:24px 0 40px;
}
.toc ul{list-style:none;margin:0;padding:0}
.toc li{margin-bottom:6px}
.toc a{
    color:var(--red);
    text-decoration:none;
    font-family:'Bebas Neue',cursive;
    font-size:18px;
}
.toc a:hover{text-decoration:underline}

.article-page ul{margin-left:20px; padding-left:4px}
.article-page ol{margin-left:22px}

.res-table{
    width:100%;
    border-collapse:collapse;
    margin-top:12px;
}
.res-table th,
.res-table td{
    padding:10px 12px;
    border:1px solid #ddd;
    text-align:left;
}
.res-table th{
    background:var(--red);
    color:#fff;
    font-family:'Bebas Neue',cursive;
    font-size:18px;
}

.article-page a{color:var(--red)}

@media(max-width:600px){
    .page-title{font-size:40px}
    .toc{padding:12px 14px}
    .article-page h2{font-size:26px}
    .article-page h3{font-size:20px}
}

