body {
    min-height: 100vh;
    font-family: Arial, sans-serif;
}

.meme-text {
    position: absolute;
    min-width: 120px;
    color: #fff; 
    font-family: 'Impact', sans-serif; 
    text-transform: uppercase; 
    cursor: move;
    user-select: none;
    text-align: center; 

    font-weight: 900;
    white-space: nowrap;
}

#canvasWrapper {
    position: relative;
    display: inline-block;
    overflow: hidden; 
}

#previewCanvas {
    display: block;
    max-width: 100%;
    height: auto;
}

h1.display-5 {
    font-size: 2.2em;
    margin-top: 15px;
    margin-bottom: 5px;
    color: #0dcaf0;
}

h2 {
    color: #0dcaf0;
    margin-top: 25px;
    margin-bottom: 15px;
}

.form-label {
    color: #e2e6ea;
}

.form-control, .form-control-color {
    background-color: #495057;
    color: #fff;
    border: 1px solid #6c757d;
}

.form-control::placeholder {
    color: #adb5bd;
}

.form-control:focus {
    background-color: #495057;
    color: #fff;
    border-color: #0dcaf0;
    box-shadow: 0 0 0 0.25rem rgba(13,202,240,.25);
}

.controls-card {
    background-color: #212529 !important;
    border: 1px solid #495057;
}
.controls-card h3 {
    color: #fff;
}

.card {
    background-color: #343a40;
    border: 1px solid #495057;
    color: #fff;
}

.card-img-top {
    height: 120px;
    object-fit: contain;
    width: 100%;
}

.card a {
    display: block;
}

.delete-btn, .share-card {
    background-color: rgba(0,0,0,0.6);
    border: none;
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
}
.delete-btn:hover { background-color: rgba(220,53,69,0.9); }
.share-card:hover { background-color: rgba(23,162,184,0.9); }

.modal-content {
    background-color: #212529;
    color: #fff;
    border: 1px solid #495057;
}
.modal-header {
    border-bottom: 1px solid #495057;
}
.modal-title {
    color: #e2e6ea !important;
}
.btn-close {
    filter: invert(1);
}