*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

body{

    background:#111827;
    color:white;

    display:flex;
    justify-content:center;
    align-items:center;

    min-height:100vh;

    padding:40px 20px;

}

.container{

    width:90%;
    max-width:760px;

    background:#1f2937;

    padding:40px;

    border-radius:20px;

    text-align:center;

    box-shadow:0 15px 35px rgba(0,0,0,.35);

}

h1{

    font-size:52px;

    margin-bottom:10px;

}

.subtitle{

    color:#60a5fa;

    font-size:24px;

    margin-bottom:35px;

}

h3{

    margin:25px 0 15px;

    font-size:28px;

}

/* ---------------- Form ---------------- */

input,
select,
button{

    width:100%;

    padding:15px;

    margin-top:12px;

    border:none;

    border-radius:12px;

    font-size:18px;

}

/* ---------------- Drag & Drop ---------------- */

#dropArea{

    border:3px dashed #3b82f6;

    border-radius:18px;

    padding:45px;

    cursor:pointer;

    transition:.25s;

    user-select:none;

}

#dropArea:hover{

    background:#273549;

}

#dropArea.dragover{

    background:#1e40af;

    border-color:#60a5fa;

}

#dropArea .icon{

    font-size:64px;

    margin-bottom:15px;

}

#dropArea h3{

    margin-bottom:10px;

}

#dropArea p{

    color:#cbd5e1;

}

/* ---------------- Button ---------------- */

button{

    background:#2563eb;

    color:white;

    cursor:pointer;

    transition:.25s;

}

button:hover{

    background:#1d4ed8;

    transform:translateY(-2px);

}

button:disabled{

    opacity:.6;

    cursor:not-allowed;

}

/* ---------------- Radio ---------------- */

label{

    display:block;

    text-align:left;

    margin-top:12px;

    cursor:pointer;

    font-size:18px;

}

label input{

    width:auto;

    margin-right:10px;

}

/* ---------------- Checkbox ---------------- */

.checkbox-label{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:15px;

}

.checkbox-label input{

    width:auto;

    margin:0;

}

/* ---------------- Custom Size ---------------- */

#customSizeArea{

    display:none;

    margin-top:20px;

}

#customSizeArea.show{

    display:block;

}

#customWidth,
#customHeight{

    width:100%;

    padding:15px;

    margin-top:10px;

    border:none;

    border-radius:12px;

    font-size:18px;

}

/* ---------------- Info Box ---------------- */

.info-box{

    margin:25px 0;

    padding:20px;

    background:#111827;

    border:2px solid #374151;

    border-radius:15px;

    text-align:left;

}

.info-box h3{

    margin-bottom:15px;

    color:#60a5fa;

    font-size:24px;

}

.info-box p{

    margin:10px 0;

    color:#d1d5db;

    font-size:18px;

}

.info-box strong{

    color:white;

}

/* ---------------- Preview ---------------- */

canvas{

    margin-top:20px;

    width:100%;

    height:auto;

    max-height:500px;

    background:#111827;

    border:2px solid #374151;

    border-radius:15px;

    display:block;

}

/* ---------------- Download ---------------- */

#downloadLink{

    display:none;

    margin-top:25px;

    background:#22c55e;

    color:white;

    text-decoration:none;

    padding:16px 28px;

    border-radius:12px;

    transition:.25s;

}

#downloadLink:hover{

    background:#16a34a;

}

/* ---------------- Select ---------------- */

select{

    background:white;

    color:black;

}

/* ---------------- Number ---------------- */

input[type="number"]{

    background:white;

    color:black;

}

/* ---------------- Responsive ---------------- */

@media(max-width:700px){

    .container{

        padding:25px;

    }

    h1{

        font-size:42px;

    }

    .subtitle{

        font-size:20px;

    }

    h3{

        font-size:24px;

    }

    input,
    select,
    button{

        font-size:16px;

    }

}

/* ---------------- Progress ---------------- */

#progressArea{

    display:none;

    margin:25px 0;

}

#progressBar{

    width:100%;

    height:18px;

    background:#374151;

    border-radius:999px;

    overflow:hidden;

}

#progressFill{

    width:0%;

    height:100%;

    background:linear-gradient(
        90deg,
        #22c55e,
        #4ade80
    );

    transition:width .2s;

}

#progressText{

    margin-top:10px;

    color:#d1d5db;

    font-size:18px;

    text-align:center;

}

/* ---------------- SEO Content ---------------- */

.seo-content{

    margin-top:50px;

    padding:30px;

    background:#111827;

    border:2px solid #374151;

    border-radius:15px;

    text-align:left;

}

.seo-content h2{

    color:#60a5fa;

    font-size:28px;

    margin:25px 0 15px;

}

.seo-content p{

    color:#d1d5db;

    font-size:17px;

    line-height:1.9;

    margin-bottom:25px;

}

.seo-content strong{

    color:#ffffff;

}