*{
    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;

}

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;

}

/* ---------------- Radio ---------------- */

label{

    display:block;

    text-align:left;

    margin-top:12px;

    cursor:pointer;

    font-size:18px;

}

label input{

    width:auto;

    margin-right:10px;

}

/* ---------------- Quality ---------------- */

#quality{

    width:100%;

    margin-top:20px;

}

#qualityText{

    margin-top:12px;

    font-size:20px;

    font-weight:bold;

    color:#60a5fa;

}

/* ---------------- Button ---------------- */

button{

    background:#2563eb;

    color:white;

    cursor:pointer;

    transition:.25s;

}

button:hover{

    background:#1d4ed8;

    transform:translateY(-2px);

}

/* ---------------- Canvas ---------------- */

canvas{

    margin-top:30px;

    max-width:100%;

    border-radius:12px;

    background:white;

    display:block;

    margin-left:auto;

    margin-right:auto;

}

/* ---------------- Download ---------------- */

#downloadLink{

    display:inline-block;

    margin-top:25px;

    background:#22c55e;

    color:white;

    text-decoration:none;

    padding:16px 28px;

    border-radius:12px;

    transition:.25s;

}

#downloadLink:hover{

    background:#16a34a;

}

/* ---------------- Responsive ---------------- */

@media(max-width:700px){

    .container{

        padding:25px;

    }

    h1{

        font-size:42px;

    }

    .subtitle{

        font-size:20px;

    }

    h3{

        font-size:24px;

    }

    .preview-container{

        flex-direction:column;

    }

}
/* ---------------- Original Image Info ---------------- */

.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;

}

/* ---------------- Before / After ---------------- */

.preview-container{

    display:flex;

    gap:25px;

    justify-content:center;

    align-items:flex-start;

    flex-wrap:wrap;

    margin:30px 0;

}

.preview-box{

    flex:1;

    min-width:280px;

}

.preview-box h3{

    margin-bottom:15px;

    color:#60a5fa;

    font-size:24px;

}

#beforePreview,
#canvas{

    width:100%;

    max-height:400px;

    object-fit:contain;

    background:#111827;

    border:2px solid #374151;

    border-radius:15px;

    display:block;

}

#beforePreview{

    min-height:250px;

}

#canvas{

    min-height:250px;

}

/* ---------------- 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;

}