


<!doctype html>
<html amp lang="id">

<head>
    <meta charset="utf-8">

    <meta name="viewport"
        content="width=device-width,minimum-scale=1,initial-scale=1">

    <title>QQSTAR - Bocoran Daftar List Slot Gacor Maxwin Asia</title>

    <meta name="description" content="Qqstar menemukan dan menyediakan bocoran privasi daftar list slot gacor maxwin hari ini langsung dari asia tentunya khusus member qqstar setia akan dibagikan tanpa rules apapun.">

    <link rel="canonical" href="https://beckgoldsmith.com/biog/">

    <link rel="alternate"
        hreflang="id-ID"
        href="https://beckgoldsmith.com/biog/">

    <link rel="alternate"
        hreflang="x-default"
        href="https://beckgoldsmith.com/biog/">

    <meta name="robots" content="index,follow">

    <meta name="author" content="QQSTAR">

    <meta property="og:type" content="website">
    <meta property="og:locale" content="id_ID">

    <meta property="og:title"
        content="QQSTAR - Bocoran Daftar List Slot Gacor Maxwin Asia">

    <meta property="og:description"
        content="Qqstar menemukan dan menyediakan bocoran privasi daftar list slot gacor maxwin hari ini langsung dari asia tentunya khusus member qqstar setia akan dibagikan tanpa rules apapun.">

    <meta property="og:url"
        content="https://beckgoldsmith.com/biog/">

    <meta property="og:site_name"
        content="QQSTAR">

    <meta property="og:image"
        content="https://thumbs4.imgbox.com/02/cb/E6fSQkyi_t.png">

    <link rel="icon"
        type="image/x-icon"
        href="https://i.ibb.co/HsD5sSf/favicon.webp">

    <link rel="preconnect"
        href="https://fonts.googleapis.com">

    <link rel="preconnect"
        href="https://fonts.gstatic.com"
        crossorigin>

    <link
        href="https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Rajdhani:wght@500;700&display=swap"
        rel="stylesheet">

    <!-- AMP RUNTIME -->
    <script async
        src="https://cdn.ampproject.org/v0.js"></script>

    <!-- AMP BOILERPLATE -->
    <style amp-boilerplate>
        body {
            -webkit-animation: -amp-start 8s steps(1,end) 0s 1 normal both;
            -moz-animation: -amp-start 8s steps(1,end) 0s 1 normal both;
            -ms-animation: -amp-start 8s steps(1,end) 0s 1 normal both;
            animation: -amp-start 8s steps(1,end) 0s 1 normal both
        }

        @-webkit-keyframes -amp-start {
            from {
                visibility: hidden
            }

            to {
                visibility: visible
            }
        }

        @-moz-keyframes -amp-start {
            from {
                visibility: hidden
            }

            to {
                visibility: visible
            }
        }

        @-ms-keyframes -amp-start {
            from {
                visibility: hidden
            }

            to {
                visibility: visible
            }
        }

        @-o-keyframes -amp-start {
            from {
                visibility: hidden
            }

            to {
                visibility: visible
            }
        }

        @keyframes -amp-start {
            from {
                visibility: hidden
            }

            to {
                visibility: visible
            }
        }
    </style>

    <noscript>
        <style amp-boilerplate>
            body {
                -webkit-animation: none;
                -moz-animation: none;
                -ms-animation: none;
                animation: none
            }
        </style>
    </noscript>

    <style amp-custom>

:root{
    --red:#800020;
    --red-light:#9B1B30;
    --red-dark:#5C0015;
    --bg:#140006;
    --bg2:#2a0010;
    --white:#fff;
}

*{
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
}

html,
body{
    margin:0;
    padding:0;
}

body{
    min-height: 100vh;
    overflow-x: hidden;
    font-family: 'Press Start 2P', cursive;
    color: #800020;

    background:
        radial-gradient(
            ellipse at 50% -10%,
            rgba(128, 0, 32, 0.28),
            transparent 56%
        ),

        radial-gradient(
            ellipse at 50% 110%,
            rgba(155, 27, 48, 0.35),
            transparent 58%
        ),

        linear-gradient(
            180deg,
            #140006 0%,
            #3d0018 48%,
            #000000 100%
        );
}

/* TICKER */

.ticker{
    position:relative;
    z-index:10;
    max-width:460px;
    margin:24px auto 0;
    padding:7px 0;
    overflow:hidden;
    border:1px solid var(--red);
    border-bottom:0;
    border-radius:8px 8px 0 0;
    background:linear-gradient(
        145deg,
        rgba(25, 0, 6, 0.98),
        rgba(2,0,0,.98)
    );
    color: #800020;
    font-size:9px;
    letter-spacing:1px;
}

.ticker-inner{
    display:inline-block;
    white-space:nowrap;
    padding-left:100%;
    animation:ticker 24s linear infinite;
}

.ticker-inner span{
    padding:0 20px;
}

.hl{
    color:var(--red);
    text-shadow:0 0 6px var(--red);
}

.sep{
    color: #800020;
}

@keyframes ticker{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(-100%,0,0)}
}

/* FRAME */

.arcade-frame{
    position:relative;
    z-index:2;
    width:calc(100% - 20px);
    max-width:460px;
    margin:0 auto 24px;
    overflow:hidden;
    border:3px solid var(--red);
    border-radius:14px;
    background:
        radial-gradient(
            circle at top,
            rgba(128, 0, 32, 0.08),
            transparent 45%
        ),
        linear-gradient(
            180deg,
            rgba(6, 0, 1, 0.98),
            rgba(2, 2, 0, 0.98)
        );
    box-shadow:
        0 0 16px rgb(128, 0, 32),
        inset 0 0 24px rgba(0, 0, 0, 0.88);
    animation:thunderShake 9s ease-in-out infinite;
}

.screen{
    position:relative;
    padding:14px 18px 18px;
    text-align:center;
}

/* CORNERS */

.corner{
    position:absolute;
    z-index:3;
    width:16px;
    height:16px;
    pointer-events:none;
    border-color:var(--red);
}

.c-tl{
    top:-2px;
    left:-2px;
    border-top:3px solid;
    border-left:3px solid;
}

.c-tr{
    top:-2px;
    right:-2px;
    border-top:3px solid;
    border-right:3px solid;
}

.c-bl{
    bottom:-2px;
    left:-2px;
    border-bottom:3px solid;
    border-left:3px solid;
}

.c-br{
    bottom:-2px;
    right:-2px;
    border-bottom:3px solid;
    border-right:3px solid;
}

/* BADGES */

.badges{
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-bottom:14px;
}

.badge{
    padding:5px 8px;
    border:1px solid var(--red-dark);
    border-radius:4px;
    background:#140006;
    color:#d7d7d7;
    font-size:7px;
    letter-spacing:.7px;
    white-space:nowrap;
}

.badge.red{
    background:linear-gradient(
        135deg,
        #252525
        #9B1B30
    );
    color:#d7d7d7;
    border-color:var(--red);
}

.dot,
.live-dot{
    display:inline-block;
    width:7px;
    height:7px;
    margin-right:5px;
    border-radius:50%;
    background:var(--red);
    box-shadow:0 0 8px var(--red);
    animation:blink 1.5s ease-in-out infinite;
}

@keyframes blink{
    50%{opacity:.4}
}

/* LOGO */

.logo{
    display:inline-block;
    margin:6px 0 14px;
    font-size:36px;
    line-height:1;
    font-weight:bold;
    letter-spacing:3px;
    text-transform:uppercase;
    color: #800020;
    text-shadow: 0 0 8px #000000, 0 0 18px rgb(75 67 67 / 55%), 0 2px 2px #bbbbbb;
}

/* LIVE */

.live-strip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-bottom:12px;
    padding:5px 14px;
    border:1px solid var(--red);
    border-radius:30px;
    background:#2a0010;
    color: #800020;
    font-size:8px;
}

.live-strip strong{
    color:#fff;
    font-size:10px;
}

/* HERO */

.hero{
    margin-bottom:6px;
}

.hero-media{
    position:relative;
    overflow:hidden;
    border-radius:10px;
    box-shadow:
        0 0 0 2px var(--red),
        0 0 22px rgb(64, 0, 16);
}

.hero-media amp-img{
    display:block;
}

.boot-overlay{
    position:absolute;
    inset:0;
    z-index:6;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    background:
        radial-gradient(
            circle at center,
            rgb(64, 0, 16),
            transparent 56%
        ),
        linear-gradient(
            180deg,
            #5C0015,
            #140006 58%,
            #000
        );
    animation:boot .6s ease-out 2.4s forwards;
}

.boot-logo{
    color:var(--red);
    font-size:26px;
    text-shadow:
        0 0 10px var(--red),
        0 0 22px var(--red);
    animation:drop 1.2s cubic-bezier(.25,1,.5,1) forwards;
}

@keyframes drop{
    0%{
        opacity:0;
        transform:translateY(-150px);
    }
    60%{
        opacity:1;
        transform:translateY(8px);
    }
    100%{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes boot{
    to{
        opacity:0;
        visibility:hidden;
    }
}

/* MENU */

.menu{
    margin-top:18px;
}

.menu a{
    display:block;
    margin:12px 0;
    padding:18px 14px;
   border: 2px solid #800020;
    border-radius:6px;
    background:
        linear-gradient(
            180deg,
            rgb(64, 0, 16),
            rgba(0,0,0,.96)
        );
    color: #800020;
    text-decoration:none;
    text-transform:uppercase;
    font-size:13px;
    font-weight:bold;
    letter-spacing:3px;
    transition:transform .15s ease;
    box-shadow:
        0 0 12px rgb(155, 27, 48),
        inset 0 0 15px rgba(255,0,0,.08);
}

.menu a:active{
    transform:scale(.97);
}

/* AMAN */

.aman-badge{
    display:inline-block;
    margin:16px auto 8px;
    padding:8px 18px;
    border:2px solid #b7b7b7;
    border-radius:30px;
    background:linear-gradient(
        180deg,
        #800020,
        var(--red),
        #800020
    );
    color:#ffffff;
    font-size:9px;
    letter-spacing:1.5px;
    box-shadow:0 0 16px rgb(64, 0, 16);
}

.star{
    color:#800020;
}

/* FEATURES */

.features{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:5px;
    margin-top:14px;
}

.feature{
    padding:8px 4px 7px;
    border:1px solid var(--red-dark);
    border-radius:5px;
    background:linear-gradient(
        180deg,
        rgba(42, 0, 10, 0.85),
        rgba(0,0,0,.9)
    );
}

.feature-icon{
    margin-bottom:4px;
    color:var(--red);
    font-family:Rajdhani,sans-serif;
    font-size:18px;
    font-weight:900;
    text-shadow:0 0 7px var(--red);
}

.feature-title{
    margin-bottom:3px;
    color:#d7d7d7;
    font-size:7px;
    line-height:1.3;
}

.feature-sub{
    color: #800020;
    font-family:Rajdhani,sans-serif;
    font-size:10px;
    font-weight:700;
}

/* PAYMENT */

.payments{
    margin-top:12px;
    padding:10px 8px;
    border:1px solid var(--red-dark);
    border-radius:6px;
    background:#140006;
}

.pay-title{
    margin-bottom:8px;
    color:var(--red);
    font-size:7px;
    letter-spacing:1.5px;
}

.pay-list{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:4px;
}

.pay{
    padding:4px 8px;
    border:1px solid #800020;
    border-radius:3px;
    background:linear-gradient(
        180deg,
        #800020,
        #800020
    );
    color:#000000;
    font-family:Rajdhani,sans-serif;
    font-size:10px;
    font-weight:700;
}

/* SUPPORT */

.QQSTAR{
    display:inline-block;
    margin-top:14px;
    padding:6px 14px;
    border:1px solid rgba(255,255,255,.5);
    border-radius:4px;
    color:#d7d7d7;
    font-size:10px;
    letter-spacing:2px;
    background:#080600;
}

/* SEO */

.seo-content{
    margin-top:16px;
    padding:14px 4px 0;
    border-top:2px dashed var(--red-dark);
    text-align:left;
}

.seo-content h1{
    margin:0 0 10px;
    color:var(--red);
    font-size:13px;
    line-height:1.4;
}

.seo-content p{
    margin:0;
    color:#e8e8e8;
    font-family:Rajdhani,sans-serif;
    font-size:14px;
    line-height:1.6;
}

/* FOOTER */

.footer{
    padding:12px;
    border-top:2px solid var(--red);
    background:#140006;
    color: #9B1B30;
    text-align:center;
    font-size:9px;
    letter-spacing:1px;
}

/* RAIN */

.rain-container{
    position:fixed;
    inset:0;
    z-index:3;
    overflow:hidden;
    pointer-events:none;
}

.drop{
    position:absolute;
    top:-100px;
    width:2px;
    height:90px;
    background:linear-gradient(
        180deg,
        transparent,
        rgba(255, 223, 80, 0.3),
        rgba(255,220,220,.9)
    );
    opacity:.7;
    animation:rain 1s linear infinite;
}

@keyframes rain{
    from{
        transform:translate3d(0,-100px,0);
    }
    to{
        transform:translate3d(-40px,120vh,0);
    }
}

/* PETIR */

.lightning{
    position:fixed;
    inset:0;
    z-index:4;
    pointer-events:none;
    background:transparent;
    animation:flash 9s ease-in-out infinite;
}

@keyframes flash{
    0%,17%,21%,100%{
        background:transparent;
    }
    18%{
        background:rgba(255,255,255,.8);
    }
    19%{
        background:rgb(155, 27, 48);
    }
    20%{
        background:rgb(64, 0, 16);
    }
}

/* SHAKE */

@keyframes thunderShake{
    0%,16%,28%,100%{
        transform:translate3d(0,0,0);
    }
    17%{
        transform:translate3d(-4px,3px,0);
    }
    18%{
        transform:translate3d(5px,-3px,0);
    }
    19%{
        transform:translate3d(-4px,-2px,0);
    }
    20%{
        transform:translate3d(4px,2px,0);
    }
    21%{
        transform:translate3d(-2px,1px,0);
    }
}

/* MOBILE */

@media(max-width:480px){

    .ticker{
        width:96vw;
        margin-top:14px;
        font-size:8px;
    }

    .arcade-frame{
        width:96vw;
        margin-bottom:14px;
    }

    .screen{
        padding:12px;
    }

    .badge{
        font-size:6px;
        padding:4px 6px;
    }

    .logo{
        font-size:28px;
        letter-spacing:2px;
    }

    .menu a{
        padding:16px 10px;
        font-size:12px;
        letter-spacing:2px;
    }

    .feature{
        padding:6px 2px;
    }

    .feature-icon{
        font-size:15px;
    }

    .feature-title{
        font-size:6px;
    }

    .feature-sub{
        font-size:9px;
    }

    .pay{
        font-size:9px;
        padding:3px 6px;
    }

    .seo-content p{
        font-size:13px;
    }

    .drop:nth-child(3n){
        display:none;
    }
}

@media(prefers-reduced-motion:reduce){

    .arcade-frame,
    .ticker-inner,
    .drop,
    .lightning,
    .boot-overlay,
    .boot-logo,
    .dot,
    .live-dot{
        animation:none;
    }

    .boot-overlay{
        display:none;
    }
}

</style>
</head>

<body>

<div class="rain-container" aria-hidden="true">
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
    <div class="drop"></div>
</div>

<div class="lightning" aria-hidden="true"></div>

<div class="ticker" aria-label="Info promo">
    <div class="ticker-inner">
        <span>★ SELAMAT DATANG DI QQSTAR ★</span>
        <span class="sep">•</span>
        <span>⚡️ LINK ALTERNATIF LOGIN ⚡️</span>
        <span class="sep">•</span>
        <span>♛ Login Resmi</span>
        <span class="sep">•</span>
        <span>⚡️ SITUS TOTO TOGEL RESMI ⚡️</span>
        <span class="sep">•</span>
        <span>⛁ WD CEPAT 1-3 MENIT</span>
        <span class="sep">•</span>
        <span>🎱 LIST SLOT GACOR ASIA 🎱</span>
        <span class="sep">•</span>
        <span>⚡️ MIN DEPO HANYA 10 RIBU</span>

    </div>
</div>

<section class="arcade-frame">

    <span class="corner c-tl" aria-hidden="true"></span>
    <span class="corner c-tr" aria-hidden="true"></span>
    <span class="corner c-bl" aria-hidden="true"></span>
    <span class="corner c-br" aria-hidden="true"></span>

    <div class="screen">

        <div class="badges">
            <span class="badge">
                <span class="dot"></span>
                
            </span>

            <span class="badge red">
                ★ 24 JAM ONLINE
            </span>
        </div>

        <div class="logo">
            QQSTAR
        </div>

        <div class="live-strip">
            <span class="live-dot"></span>
            <strong>99.789</strong>
            PLAYER AKTIF
        </div>

        <div class="hero">
            <div class="hero-media">

                <amp-img
                    src="https://thumbs4.imgbox.com/02/cb/E6fSQkyi_t.png"
                    width="420"
                    height="420"
                    layout="responsive"
                    alt="BANNER QQSTAR">
                </amp-img>

                <div class="boot-overlay">
                    <div class="boot-logo">
                        QQSTAR
                    </div>
                </div>

            </div>
        </div>

        <nav class="menu">

            <a href="https://qqstar.cloudfsm.dev/masuk">
                LOGIN QQSTAR
            </a>

            <a href="https://qqstar.cloudfsm.dev/masuk">
                DAFTAR QQSTAR
            </a>

            <a href="https://qqstar.cloudfsm.dev/masuk">
                LAYANAN CS 24 JAM
            </a>

        </nav>

        <div class="aman-badge">
            <span class="star">★</span>
            100% AMAN &amp; PASTI BAYAR LUNAS
            <span class="star">★</span>
        </div>

        <div class="features">

            <div class="feature">
                <div class="feature-icon">♛</div>
                <div class="feature-title">JACKPOT</div>
                <div class="feature-sub">TANPA BATAS</div>
            </div>

            <div class="feature">
                <div class="feature-icon">◆</div>
                <div class="feature-title">MIN WD</div>
                <div class="feature-sub">50.000</div>
            </div>

            <div class="feature">
                <div class="feature-icon">⛁</div>
                <div class="feature-title">MIN DEPO</div>
                <div class="feature-sub">10.000</div>
            </div>

            <div class="feature">
                <div class="feature-icon">↯</div>
                <div class="feature-title">WITHDRAW</div>
                <div class="feature-sub">1-3 MENIT</div>
            </div>

        </div>

        <div class="payments">

            <div class="pay-title">
                DEPOSIT &amp; WITHDRAW TERSEDIA
            </div>

            <div class="pay-list">
                <span class="pay">BCA</span>
                <span class="pay">MANDIRI</span>
                <span class="pay">BNI</span>
                <span class="pay">BRI</span>
                <span class="pay">CIMB</span>
                <span class="pay">DANA</span>
                <span class="pay">OVO</span>
                <span class="pay">GOPAY</span>
            </div>

        </div>

        <div class="QQSTAR">
            SUPPORT ©
        </div>

    </div>

    <div class="footer">
        © 2026 QQSTAR | jsh
    </div>

</section>

</body>
</html>