/* ================= GLOBAL ================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
background:#0b1120;
overflow-x:hidden;
}

body.dark-mode{
background:#020617;
}
/* ================= UPLOAD ================= */

.compress-upload{

min-height:100vh;

display:flex;
align-items:center;
justify-content:center;

padding:120px 20px;

background:
linear-gradient(
135deg,
#071133,
#1b1464,
#6d28d9
);
}

.compress-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 */

.compress-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 */

.compress-box h1{

font-size:58px;
font-weight:800;

color:white;

margin-bottom:20px;
}

.compress-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);
}

/* INFO */

.upload-info{

display:flex;
justify-content:center;
gap:30px;

margin-top:35px;

flex-wrap:wrap;
}

.upload-info span{

display:flex;
align-items:center;
gap:10px;

color:white;

font-size:15px;
}

.upload-info 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 ================= */

.compress-editor{

display:none;

min-height:100vh;

padding:
130px 30px 60px;

background:#f7f8fc;

gap:30px;
}

/* SIDEBAR */

.compress-sidebar{

width:420px;

background:white;

border-radius:28px;

padding:35px;

box-shadow:
0 15px 40px rgba(0,0,0,0.06);

height:fit-content;
}

.compress-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;
}

/* RANGE */

#qualitySlider{
padding:0;
}

/* TARGET */

.target-row{

display:flex;
gap:12px;
}

.target-row input{
flex:1;
}

.target-row select{
width:110px;
}

/* STATS */

.stats-box{

background:#f3f4f6;

border-radius:22px;

padding:25px;

margin:35px 0;
}

.stat-item{

display:flex;
justify-content:space-between;

margin-bottom:18px;
}

.stat-item:last-child{
margin-bottom:0;
}

.stat-item span{
color:#6b7280;
}

.stat-item strong{
font-size:18px;
}

/* BUTTON */

#compressBtn{

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;
}

#compressBtn: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 */

.compress-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){

.compress-editor{
flex-direction:column;
}

.compress-sidebar{
width:100%;
}

.preview-card{
min-height:500px;
}

}

@media(max-width:768px){

.compress-box{
padding:40px 25px;
}

.compress-box h1{
font-size:40px;
}

.compress-box p{
font-size:17px;
}

.compress-icon{
width:90px;
height:90px;
font-size:38px;
}

.compress-editor{
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-info{
gap:18px;
}

.compress-sidebar{
padding:25px;
}

.compress-sidebar h2{
font-size:28px;
}

.preview-card{
padding:18px;
}

}

/* =========================
COMPARE SLIDER
========================= */

.compare-container{

position:relative;

width:100%;
max-width:900px;

height:600px;

overflow:hidden;

border-radius:24px;

background:#f3f4f6;
}

/* IMAGES */

.compare-container img{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

object-fit:contain;
}

/* AFTER IMAGE */

.after-img{

clip-path:inset(0 0 0 50%);
}

/* SLIDER LINE */

.slider-line{

position:absolute;

top:0;
left:50%;

transform:translateX(-50%);

width:4px;
height:100%;

background:white;

cursor:ew-resize;

z-index:10;
}

/* BUTTON */

.slider-button{

position:absolute;

top:50%;
left:50%;

transform:translate(-50%,-50%);

width:60px;
height:60px;

border-radius:50%;

background:white;

display:flex;
align-items:center;
justify-content:center;

font-size:22px;

color:#4f46e5;

box-shadow:
0 10px 30px rgba(0,0,0,0.2);
}

/* MOBILE */

@media(max-width:768px){

.compare-container{
height:400px;
}

.slider-button{
width:50px;
height:50px;
font-size:18px;
}

}

/* LIGHT MODE */

/* LIGHT MODE */

body:not(.dark-mode) .compress-upload{
background:linear-gradient(
135deg,
#f8fafc,
#eef2ff,
#ddd6fe
);
}

body:not(.dark-mode) .compress-box{
background:white;
border:none;
backdrop-filter:none;
box-shadow:0 25px 60px rgba(0,0,0,.08);
}

body:not(.dark-mode) .compress-box h1{
color:#111827;
}

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-info span{
color:#475569;
}

body:not(.dark-mode) .compress-box p{
color:#6b7280;
}

body:not(.dark-mode) .compress-icon{
background:#ede9fe;
color:#6d28d9;
}

/* DARK MODE */

body.dark-mode .compress-upload{
background:linear-gradient(
135deg,
#071133,
#1b1464,
#6d28d9
);
}

body.dark-mode .compress-editor{
background:#020617;
}

body.dark-mode .compress-sidebar{
background:#111827;
color:white;
}

body.dark-mode .compress-sidebar h2,
body.dark-mode .input-group label{
color:white;
}

body.dark-mode .input-group input,
body.dark-mode .input-group select{
background:#1e293b;
color:white;
}

body.dark-mode .stats-box{
background:#1e293b;
}

body.dark-mode .stat-item span{
color:#cbd5e1;
}

body.dark-mode .preview-card{
background:#111827;
}

/**/

.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;

}