/* ================= GLOBAL ================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
background:#0b1120;
overflow-x:hidden;
}

/* ================= UPLOAD SCREEN ================= */

.upload-screen{

min-height:100vh;

display:flex;
align-items:center;
justify-content:center;

padding:120px 20px;

background:
linear-gradient(
135deg,
#071133,
#1b1464,
#6d28d9
);
}

.upload-box{

width:100%;
max-width:720px;

background:
rgba(255,255,255,0.08);

border:
1px solid rgba(255,255,255,0.1);

backdrop-filter:blur(18px);

padding:60px;

border-radius:35px;

text-align:center;

box-shadow:
0 25px 60px rgba(0,0,0,0.25);
}

/* ICON */

.upload-icon{

width:120px;
height:120px;

margin:auto auto 30px;

border-radius:30px;

background:
rgba(255,255,255,0.1);

display:flex;
align-items:center;
justify-content:center;

font-size:50px;

color:white;
}

/* TEXT */

.upload-box h1{

font-size:58px;
font-weight:800;

color:white;

margin-bottom:20px;
}

.upload-box p{

font-size:20px;

color:
rgba(255,255,255,0.8);

margin-bottom:40px;
}

/* BUTTON */

.upload-btn{

display:inline-flex;
align-items:center;
gap:12px;

padding:20px 34px;

border-radius:18px;

background:white;

color:#4f46e5;

font-size:18px;
font-weight:700;

cursor:pointer;

transition:0.3s;
}

.upload-btn:hover{

transform:translateY(-3px);

box-shadow:
0 15px 40px rgba(255,255,255,0.15);
}

/* FEATURES */

.upload-features{

display:flex;
justify-content:center;
gap:30px;

margin-top:35px;

flex-wrap:wrap;
}

.upload-features span{

display:flex;
align-items:center;
gap:10px;

color:white;

font-size:15px;
}

.upload-features i{
color:#8b5cf6;
}

/* ================= LOADING ================= */

.loading-screen{

display:none;

min-height:100vh;

align-items:center;
justify-content:center;

background:
linear-gradient(
135deg,
#071133,
#1b1464,
#6d28d9
);
}

.loading-box{

width:100%;
max-width:600px;

padding:50px;

border-radius:30px;

background:
rgba(255,255,255,0.08);

backdrop-filter:blur(18px);

text-align:center;
}

.loading-box h2{

font-size:42px;

color:white;

margin-bottom:35px;
}

/* PROGRESS */

.progress-bar{

width:100%;
height:24px;

background:
rgba(255,255,255,0.12);

border-radius:30px;

overflow:hidden;
}

.progress-fill{

width:0%;
height:100%;

background:
linear-gradient(
135deg,
#22c55e,
#16a34a
);

transition:0.3s;
}

#progressText{

margin-top:18px;

font-size:28px;
font-weight:700;

color:white;
}

/* ================= EDITOR ================= */

.editor-screen{

display:none;

min-height:100vh;

padding:
130px 30px 60px;

background:#f7f8fc;

gap:30px;
}

/* SIDEBAR */

.editor-sidebar{

width:420px;

background:white;

border-radius:28px;

padding:35px;

box-shadow:
0 15px 40px rgba(0,0,0,0.06);

height:fit-content;
}

.editor-sidebar h2{

font-size:34px;
margin-bottom:30px;
}

/* INPUTS */

.input-group{
margin-bottom:28px;
}

.input-group label{

display:block;

margin-bottom:12px;

font-size:16px;
font-weight:600;
}

.input-group input,
.input-group select{

width:100%;

height:60px;

border:none;

background:#f3f4f6;

border-radius:16px;

padding:0 20px;

font-size:17px;

outline:none;
}

/* CHECKBOX */

.checkbox-group{

display:flex;
align-items:center;

gap:12px;

margin-bottom:30px;
}

/* RANGE */

#qualityInput{
padding:0;
}

/* SIZE ROW */

.size-row{

display:flex;
gap:12px;
}

.size-row input{
flex:1;
}

.size-row select{
width:110px;
}

/* EXPORT TITLE */

.export-title{
margin-top:50px;
}

/* BUTTON */

#resizeBtn{

width:100%;
height:62px;

border:none;

border-radius:18px;

background:
linear-gradient(
135deg,
#4f46e5,
#7c3aed
);

color:white;

font-size:18px;
font-weight:700;

cursor:pointer;

transition:0.3s;

margin-top:15px;
}

#resizeBtn:hover{

transform:translateY(-2px);
}

/* DOWNLOAD */

#downloadBtn{

display:none;

width:100%;
height:62px;

margin-top:18px;

border-radius:18px;

background:#22c55e;

color:white;

text-decoration:none;

font-size:18px;
font-weight:700;

display:flex;
align-items:center;
justify-content:center;

gap:10px;
}

/* PREVIEW */

.editor-preview{
flex:1;
}

.preview-card{

background:white;

border-radius:30px;

padding:30px;

height:100%;

min-height:700px;

display:flex;
align-items:center;
justify-content:center;

box-shadow:
0 15px 40px rgba(0,0,0,0.06);
}

#previewImage{

max-width:100%;
max-height:100%;

object-fit:contain;
}

/* ================= MOBILE ================= */

@media(max-width:992px){

.editor-screen{

flex-direction:column;
}

.editor-sidebar{
width:100%;
}

.preview-card{
min-height:500px;
}

}

@media(max-width:768px){

.upload-box{
padding:40px 25px;
}

.upload-box h1{
font-size:40px;
}

.upload-box p{
font-size:17px;
}

.upload-icon{
width:90px;
height:90px;
font-size:38px;
}

.editor-screen{
padding:120px 20px 40px;
}

.loading-box{
padding:40px 25px;
}

.loading-box h2{
font-size:32px;
}

}

@media(max-width:500px){

.upload-btn{
width:100%;
justify-content:center;
}

.upload-features{
gap:18px;
}

.editor-sidebar{
padding:25px;
}

.editor-sidebar h2{
font-size:28px;
}

.preview-card{
padding:18px;
}

}

/* ================= LIGHT MODE ================= */

body:not(.dark-mode) .upload-screen{
background:linear-gradient(
135deg,
#f8fafc,
#eef2ff,
#ddd6fe
);
}

body:not(.dark-mode) .upload-box{
background:white;
border:none;
backdrop-filter:none;
box-shadow:0 25px 60px rgba(0,0,0,.08);
}

body:not(.dark-mode) .upload-box h1{
color:#111827;
}

body:not(.dark-mode) .upload-features span{
color:#475569;
}

body:not(.dark-mode) .upload-btn{
background: linear-gradient(135deg, #4f46e5, #7c3aed);
color: white;
box-shadow: 0 10px 30px rgba(124,58,237,.25);
}

body:not(.dark-mode) .upload-box p{
color:#6b7280;
}

body:not(.dark-mode) .upload-icon{
background:#ede9fe;
color:#6d28d9;
}

body:not(.dark-mode) .editor-screen{
background:#f8fafc;
}

body:not(.dark-mode) .editor-sidebar{
background:white;
}

body:not(.dark-mode) .preview-card{
background:white;
}

/* ================= DARK MODE ================= */

body.dark-mode .upload-screen{
background:linear-gradient(
135deg,
#071133,
#1b1464,
#6d28d9
);
}

body.dark-mode .loading-screen{
background:linear-gradient(
135deg,
#071133,
#1b1464,
#6d28d9
);
}

body.dark-mode .editor-screen{
background:#020617;
}

body.dark-mode .editor-sidebar{
background:#111827;
color:white;
}

body.dark-mode .editor-sidebar h2,
body.dark-mode .input-group label,
body.dark-mode .checkbox-group label{
color:white;
}

body.dark-mode .input-group input,
body.dark-mode .input-group select{
background:#1e293b;
color:white;
}

body.dark-mode .preview-card{
background:#111827;
}

body.dark-mode .checkbox-group{
color:#cbd5e1;
}

body.dark-mode .loading-box{
background:rgba(255,255,255,0.08);
}

body.dark-mode .loading-box h2,
body.dark-mode #progressText{
color:white;
}

/**/

.faq-section{

max-width:1000px;

margin:80px auto;

padding:0 20px;

}

.faq-section h2{

font-size:40px;

margin-bottom:30px;

text-align:center;

}

.faq-item{

background:white;

padding:25px;

border-radius:20px;

margin-bottom:20px;

box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.faq-item h3{

margin-bottom:10px;

color:#111827;

}

.faq-item p{

color:#64748b;

line-height:1.8;

}

body:not(.dark-mode){
background:#f8fafc;
}

body:not(.dark-mode) .converter-editor{
background:#f8fafc;
}

/* DARK MODE */

body.dark-mode .faq-item{

background:#111827;

border:1px solid rgba(255,255,255,.08);

}

body.dark-mode .faq-item h3{
color:white;
}

body.dark-mode .faq-section h2{
color:white;
}

body.dark-mode .faq-item p{

color:#cbd5e1;

}