body{
    margin:0;
    padding:0;
    background:#111827;
    color:#ffffff;
    font-family:Inter,Arial,sans-serif;
}

.container{
    max-width:650px;
    margin:60px auto;
    padding:30px;
}

.logo{
    font-size:54px;
    font-weight:700;
    text-align:center;
    margin-bottom:10px;
}

.subtitle{
    text-align:center;
    color:#9ca3af;
    margin-bottom:40px;
}

input{
    width:100%;
    box-sizing:border-box;
    padding:16px;
    margin-bottom:15px;
    border:none;
    border-radius:12px;
    background:#1f2937;
    color:white;
    font-size:16px;
}

button{
    width:100%;
    padding:16px;
    border:none;
    border-radius:12px;
    background:#2563eb;
    color:white;
    font-size:16px;
    cursor:pointer;
    font-weight:600;
}

button:hover{
    opacity:.95;
}

.features{
    margin-top:30px;
    color:#9ca3af;
    line-height:32px;
}

#loader{
    display:none;
    text-align:center;
    margin-top:40px;
}

.spinner{
    width:70px;
    height:70px;
    border:6px solid #374151;
    border-top:6px solid #3b82f6;
    border-radius:50%;
    animation:spin 1s linear infinite;
    margin:20px auto;
}

@keyframes spin{
    100%{
        transform:rotate(360deg);
    }
}

#steps{
    max-width:350px;
    margin:25px auto;
    text-align:left;
    line-height:34px;
}

#result{
    margin-top:40px;
}

.result-card{
    background:#1f2937;
    padding:25px;
    border-radius:16px;
}

.field{
    margin-top:20px;
}

.label{
    color:#9ca3af;
    margin-bottom:8px;
}

.copy-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#111827;
    padding:12px;
    border-radius:10px;
}

.copy-btn{
    width:auto;
    padding:8px 12px;
    font-size:18px;
}

.panel-link{
    display:inline-block;
    padding:12px 20px;
    background:#2563eb;
    color:white;
    text-decoration:none;
    border-radius:10px;
}

.error{
    background:#7f1d1d;
    color:white;
    padding:16px;
    border-radius:12px;
}