*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html,
body{
    margin:0;
    padding:0;
    width:100%;
    min-height:100%;
}

body{
    background:#000;
    font-family:'Poppins',sans-serif;

    min-height:100vh;
    min-height:100dvh;

    display:flex;
    justify-content:center;
    align-items:center;

    margin:0;

    overflow-x:hidden;
    overflow-y:auto;
}

/* Background Neon */
body::before{
    content:"";
    position:fixed;
    inset:0;

    background:
    radial-gradient(
        circle at center,
        rgba(255,0,0,.15),
        transparent 60%
    );

    z-index:-1;
}

/* Card */
.card{
    width:min(380px, calc(100vw - 20px));
    margin:auto;

    position:relative;
    left:-15px;   /* geser sedikit ke kiri */
}

.card{
    width:min(380px, calc(100vw - 20px));

    margin:auto;

    background:#111;
    border-radius:20px;
    padding:20px;


    text-align:center;

    display:flex;
    flex-direction:column;
    align-items:center;

    border:1px solid rgba(255,215,0,.4);

    box-shadow:
        0 0 20px rgba(255,0,0,.3),
        0 0 40px rgba(255,215,0,.2);

    animation:fadeIn 1s ease;
}

/* Logo */
.logo{
    display:block;
    width:100%;
    max-width:280px;
    height:auto;

    margin:0 auto 15px;
}

/* Typewriter */
.typing-wrap{
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
}

.typewriter{
    display:inline-block;

    color:#fff;
    font-size:12px;
    font-weight:bold;
    text-align:center;

    white-space:nowrap;
    overflow:hidden;

    border-right:2px solid yellow;

    width:0;

    animation:
        typing 4s steps(37,end) forwards,
        blink .7s infinite;
}

@keyframes typing{
    from{
        width:0;
    }
    to{
        width:31ch;
    }
}

@keyframes blink{
    50%{
        border-color:transparent;
    }
}

@keyframes glow{
    from{
        box-shadow:
            0 0 15px rgba(255,215,0,.2);
    }

    to{
        box-shadow:
            0 0 35px rgba(255,215,0,.7);
    }
}

@keyframes fadeIn{
    from{
        opacity:0;
        transform:translateY(30px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

.banner{
    width:100%;
    border-radius:12px;
    margin:15px 0;
}

.online{
    color:#00ff66;
    font-size:14px;
    font-weight:bold;
    margin:10px 0;
}

.btn{
    display:flex;
    justify-content:center;
    align-items:center;

    width:100%;
    height:60px;

    margin-top:12px;

    text-decoration:none;

    font-size:20px;
    font-weight:bold;

    border-radius:12px;
}

.login{
    background:#ff1a1a;
    color:#fff;
    border:3px solid #fff;
}

.daftar{
    background:#000;
    color:#fff;
    border:3px solid #fff;
}

.btn:hover{
    transform:translateY(-3px) scale(1.03);
}

.clock{
    margin-top:15px;
    color:gold;
    font-weight:bold;
    font-size:14px;
}

.footer{
    margin-top:15px;
    color:#fff;
    font-size:13px;
}

.footer span{
    color:red;
    font-weight:bold;
}

html,
body{
    overflow-x:hidden;
}

/* Running Text */
.marquee{
    width:100%;
    overflow:hidden;
}

/* Running Text */
.marquee{
    width:100%;
    overflow:hidden;
}

/* Running Text */
.marquee{
    width:100%;
    overflow:hidden;
    border:1px solid gold;
    border-radius:8px;
    padding:8px 0;
    margin:15px 0;
}

.marquee-text{
    display:inline-block;
    white-space:nowrap;

    color:#FFD700;
    font-size:14px;
    font-weight:bold;

    animation:marqueeMove 12s linear infinite;
}

@keyframes marqueeMove{
    from{
        transform:translateX(100%);
    }

    to{
        transform:translateX(-100%);
    }
}

@media (max-width:480px){

    .card{
        width:calc(100vw - 20px);
        max-width:380px;
    }

}.login{
    animation: loginGlow 1.5s infinite alternate;
}

@keyframes loginGlow{
    from{
        box-shadow:0 0 10px #ff0000;
    }
    to{
        box-shadow:
            0 0 20px #ff0000,
            0 0 35px #ff4444;
    }
}

.logo{
    animation: logoFloat 3s ease-in-out infinite;
}

@keyframes logoFloat{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-5px);
    }
}

body{
    animation:fadeIn .8s;
}

@keyframes fadeIn{
    from{
        opacity:0;
    }
    to{
        opacity:1;
    }
}

/* ==========================
   LIVE WIN POPUP
========================== */

.win-popup{

    position:fixed;

    left:20px;
    bottom:20px;

    width:300px;

    display:flex;
    align-items:center;

    gap:12px;

    padding:12px;

    border-radius:15px;

    background:#111;

    border:2px solid gold;

    box-shadow:
    0 0 20px rgba(255,215,0,.5);

    transform:translateX(-350px);

    opacity:0;

    transition:.6s;

    z-index:99999;
}

.win-popup.show{

    transform:translateX(0);

    opacity:1;
}

.popup-logo{

    width:55px;
    height:55px;

    border-radius:10px;
}

.popup-text{

    color:#fff;

    line-height:22px;

    font-size:14px;
}

.popup-text b{

    color:#FFD700;
}

.popup-text small{

    color:#00ff66;
}

@media(max-width:480px){

.win-popup{

    left:10px;

    bottom:10px;

    width:calc(100% - 20px);

}

}