body{
    margin:0;
    font-family:Arial, sans-serif;
    background:#f5f6fa;
}

.container{
    display:flex;
    justify-content:center;
    padding:20px;
}

.card{
    width:100%;
    max-width:420px;
    background:#fff;
    padding:20px;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,0.1);
    text-align:center;
}

input{
    width:100%;
    padding:12px;
    margin-top:10px;
    border-radius:10px;
    border:1px solid #ddd;
}

button{
    width:100%;
    padding:12px;
    margin-top:10px;
    border:none;
    border-radius:10px;
    background:#6c5ce7;
    color:#fff;
    font-weight:bold;
    cursor:pointer;
}

.loader{
    display:none;
    margin-top:15px;
}

.dot{
    width:12px;
    height:12px;
    background:#6c5ce7;
    border-radius:50%;
    margin:auto;
    animation:pulse 1s infinite;
}

@keyframes pulse{
    0%{opacity:1}
    100%{opacity:0.3}
}

.result{
    display:none;
}

.circle{
    width:140px;
    height:140px;
    border-radius:50%;
    margin:20px auto;
    background:conic-gradient(#6c5ce7 0deg,#eee 0deg);
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
}

.circle::after{
    content:"";
    width:100px;
    height:100px;
    background:#fff;
    border-radius:50%;
    position:absolute;
}

.percent{
    position:absolute;
    font-size:22px;
    font-weight:bold;
}