*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}

body{

    background:linear-gradient(135deg,#ff7b00,#ffb347);

    min-height:100vh;

    color:white;

}

header{

    width:100%;

    padding:20px 8%;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{

    font-size:28px;

    font-weight:bold;

}

.hero{

    padding:40px 8%;

    text-align:center;

}

.badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(10px);

    margin-bottom:20px;

    font-weight:bold;

}

.hero h1{

    font-size:52px;

    margin-bottom:18px;

}

.hero p{

    max-width:700px;

    margin:auto;

    font-size:18px;

    line-height:1.7;

    color:#fff7ef;

}

.upload-section{

    display:flex;

    justify-content:center;

    padding:40px 20px 80px;

}

.upload-card{

    width:100%;

    max-width:850px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(16px);

    border-radius:25px;

    padding:35px;

    border:1px solid rgba(255,255,255,.25);

    box-shadow:0 15px 40px rgba(0,0,0,.2);

}

.upload-box{

    border:3px dashed rgba(255,255,255,.5);

    border-radius:20px;

    padding:55px 20px;

    text-align:center;

    cursor:pointer;

    transition:.3s;

    display:block;

}

.upload-box:hover{

    background:rgba(255,255,255,.08);

    transform:translateY(-4px);

}

.upload-icon{

    font-size:65px;

    margin-bottom:15px;

}

.upload-box h2{

    margin-bottom:12px;

    font-size:30px;

}

.upload-box p{

    color:#fff6e7;

}#fileInfo{

    margin-top:25px;

    padding:18px;

    border-radius:15px;

    background:rgba(255,255,255,.12);

    display:none;

    font-size:16px;

    line-height:1.8;

}

.rotate-options{

    margin-top:25px;

}

.rotate-options label{

    display:block;

    margin-bottom:10px;

    font-size:17px;

    font-weight:bold;

}

.rotate-options select{

    width:100%;

    padding:14px 16px;

    border:none;

    border-radius:12px;

    font-size:16px;

    outline:none;

    background:white;

    color:#333;

}

.buttons{

    display:flex;

    gap:15px;

    margin-top:30px;

    flex-wrap:wrap;

}

.buttons button{

    flex:1;

    min-width:180px;

    padding:15px;

    border:none;

    border-radius:12px;

    font-size:17px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}

#rotateBtn{

    background:#ffffff;

    color:#ff7b00;

}

#rotateBtn:hover{

    transform:translateY(-3px);

    box-shadow:0 8px 20px rgba(0,0,0,.2);

}

#downloadBtn{

    background:#222;

    color:white;

}

#downloadBtn:hover{

    background:#000;

    transform:translateY(-3px);

}

@media(max-width:768px){

    .hero h1{

        font-size:36px;

    }

    .hero p{

        font-size:16px;

    }

    .upload-card{

        padding:25px;

    }

    .upload-box{

        padding:40px 15px;

    }

    .buttons{

        flex-direction:column;

    }

    .buttons button{

        width:100%;

    }

}