*{
    box-sizing:border-box;
    margin:0;
    padding:0;
}

body{
    font-family:'Inter',sans-serif;
    background:linear-gradient(135deg,#0f2027,#203a43,#2c5364);
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    color:white;
}

.container{
    width:700px;
    padding:40px;
    background:rgba(255,255,255,0.08);
    backdrop-filter:blur(20px);
    border-radius:18px;
    box-shadow:0 20px 40px rgba(0,0,0,0.4);
    text-align:center;
}

h1{
    font-size:34px;
    margin-bottom:5px;
}
.subtitle{
    opacity:0.7;
    margin-bottom:25px;
}

textarea{
    width:100%;
    height:120px;
    padding:12px;
    margin:10px 0;
    border-radius:10px;
    border:none;
    resize:none;
    font-size:14px;
}

input{
    width:100%;
    padding:12px;
    border-radius:10px;
    border:none;
    margin:10px 0;
    font-size:14px;
}

.buttons{
    display:flex;
    gap:10px;
    justify-content:center;
    margin:15px 0;
}

button{
    flex:1;
    padding:12px;
    border:none;
    border-radius:10px;
    font-size:15px;
    cursor:pointer;
    transition:0.25s;
}

.encrypt{
    background:#4CAF50;
    color:white;
}

.decrypt{
    background:#2196F3;
    color:white;
}

button:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 14px rgba(0,0,0,0.3);
}

textarea:focus,input:focus{
    outline:none;
    box-shadow:0 0 0 2px rgba(255,255,255,0.4);
}

hr{
    border:0.5px solid rgba(255,255,255,0.2);
    margin:25px 0;
}

.dropzone{
    border:2px dashed rgba(255,255,255,0.4);
    border-radius:12px;
    padding:40px;
    margin:20px 0;
    text-align:center;
    cursor:pointer;
    transition:0.25s;
}

.dropzone:hover{
    background:rgba(255,255,255,0.1);
}

.dropzone p{
    font-size:18px;
    margin-bottom:10px;
}

.dropzone button{
    padding:10px 18px;
    border:none;
    border-radius:8px;
    background:#2196F3;
    color:white;
    cursor:pointer;
}

#fileList{
    list-style:none;
    margin:10px 0;
    padding:0;
}

#fileList li{
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:rgba(255,255,255,0.1);
    padding:5px 10px;
    margin-bottom:5px;
    border-radius:6px;
}

#fileList li span{
    cursor:pointer;
    font-weight:bold;
    color:red;
}

.progress-container{
    width:100%;
    background:rgba(255,255,255,0.2);
    border-radius:10px;
    margin:15px 0;
    height:20px;
}

#progress-bar{
    width:0%;
    height:100%;
    background:#4CAF50;
    border-radius:10px;
    transition:width 0.2s;
}