* {
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body {
    font-family: 'Segoe UI', Arial, sans-serif;
    background: #f0f2f5;
    color: #111;
    padding:20px;
}

.container {
    max-width: 1200px;
    margin:auto;
}

h1 {
    text-align:center;
    margin-bottom:25px;
    color:#333;
}

.upload-box {
    background:white;
    padding:20px;
    border-radius:15px;
    margin-bottom:30px;
    box-shadow:0 4px 12px rgba(0,0,0,0.1);
}

.upload-box input[type="file"],
.upload-box textarea {
    width:100%;
    margin-bottom:15px;
    padding:10px;
    border-radius:10px;
    border:1px solid #ccc;
    font-size:14px;
}

.upload-box textarea {
    resize:none;
    height:80px;
}

.upload-box button {
    background:#1877f2;
    color:white;
    border:none;
    padding:12px 20px;
    border-radius:10px;
    cursor:pointer;
    font-weight:bold;
}

.upload-box button:hover {
    opacity:.9;
}

.gallery {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
    gap:20px;
}

.card {
    background:white;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 4px 12px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

.card:hover {
    transform: translateY(-5px);
}

.card img {
    width:100%;
    height:250px;
    object-fit:cover;
}

.card-content {
    padding:15px;
}

.quote {
    margin-bottom:10px;
    font-size:14px;
    color:#333;
    line-height:1.4;
}

.actions {
    display:flex;
    justify-content:space-between;
}

.actions button {
    padding:6px 12px;
    border:none;
    border-radius:8px;
    cursor:pointer;
    font-size:13px;
}

.actions .delete-btn {
    background:#f02849;
    color:white;
}

.actions button:hover {
    opacity:.85;
}

.empty {
    text-align:center;
    color:#555;
    font-style:italic;
}