:root{
    --primary:#1877f2;
    --success:#1f8f3a;
    --bg:#eef1f5;
    --card:#ffffff;
    --text:#1c1e21;
    --muted:#6b7280;
}

*{box-sizing:border-box}

body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
}

.container{
    max-width:480px;
    min-height:100vh;
    margin:0 auto;
    padding:16px;
    display:flex;
    flex-direction:column;
}

.poster{
    width:100%;
    border-radius:16px;
    margin-bottom:16px;
}

.card{
    flex:1;
    background:var(--card);
    border-radius:18px;
    padding:20px;
    box-shadow:0 8px 22px rgba(0,0,0,.12);
}

h2{
    text-align:center;
    font-size:24px;
    margin:6px 0;
    color:#0b4c8a;
}

/* ===== TEKS TELEGRAM ===== */
.telegram-text{
    overflow:hidden;
    white-space:nowrap;
    margin:12px 0 22px;
}
.telegram-track{
    display:inline-block;
    padding-left:100%;
    animation:telegramMove 12s linear infinite;
    font-size:16px;
    font-weight:700;
    color:var(--primary);
}
@keyframes telegramMove{
    0%{transform:translateX(0)}
    100%{transform:translateX(-100%)}
}

/* ===== FORM ===== */
.form-group{margin-top:18px}
.input-box{position:relative}

input{
    width:100%;
    height:58px;
    border-radius:14px;
    border:1px solid #cfd5dd;
    background:#fafafa;
    padding:0 18px;
    font-size:16px;
}

input:focus{
    outline:none;
    background:#fff;
    border-color:var(--primary);
}

/* FLAG INDONESIA */
.flag-id{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    width:32px;
    height:20px;
    border-radius:4px;
    border:1px solid #cfcfcf;
    overflow:hidden;
}
.flag-id::before{
    content:"";
    position:absolute;
    top:0;
    width:100%;
    height:50%;
    background:#e53935;
}
.flag-id::after{
    content:"";
    position:absolute;
    bottom:0;
    width:100%;
    height:50%;
    background:#ffffff;
}

.country-code{
    position:absolute;
    left:52px;
    top:50%;
    transform:translateY(-50%);
    font-size:16px;
    font-weight:600;
    color:var(--text);
    z-index:1;
}

.with-flag{padding-left:90px}

#wrong{
    margin-top:16px;
    padding:12px 16px;
    border-radius:10px;
    background:#ffe6e6;
    border:1px solid #ff4444;
    color:#d32f2f;
    font-family:'Poppins', sans-serif;
    font-size:14px;
    font-weight:500;
    text-align:center;
}

button{
    width:100%;
    height:58px;
    margin-top:26px;
    border:none;
    border-radius:14px;
    background:#6cc18b;
    color:#fff;
    font-size:17px;
    font-weight:700;
    cursor:pointer;
}
button:disabled{background:#ccc; cursor:not-allowed;}
button:active{transform:scale(.98)}

.step{display:none}
.step.active{display:block}

/* ===== LIST PENDAFTAR ===== */
.list{
    margin-top:28px;
    height:300px;
    overflow:hidden;
}

.list-track{
    animation:scrollList 26s linear infinite;
}

@keyframes scrollList{
    0%{transform:translateY(0)}
    100%{transform:translateY(-50%)}
}

.item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 16px;
    border-radius:14px;
    background:#f8fafc;
    margin-bottom:10px;
    font-size:15px;
}

.left{
    display:flex;
    align-items:center;
    gap:12px;
}

.avatar{
    width:42px;
    height:42px;
    border-radius:50%;
    background:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:700;
    font-size:18px;
}

.success{
    color:var(--success);
    font-weight:700;
    font-size:14px;
}

.logo-strip{
    margin-top:26px;
    padding-top:16px;
    border-top:1px dashed #cfd5dd;
    display:flex;
    justify-content:center;
}
.logo-strip img{
    height:52px;
    max-width:100%;
    object-fit:contain;
}
