html, body.theme-bg {
    min-height: 100vh;
    min-height: 100dvh;
    background: #0f0f0f;
}

.theme-card {
    background: #1b1b1b;
    border: 1px solid #ffcc00;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.theme-card .input,
.theme-card .textarea,
.theme-card .select select {
    border-color: #ffcc00;
}

.theme-card .label {
    letter-spacing: 0.3px;
}

.theme-notice {
    background: #2a2a2a;
    color: #fff6bf;
    border: 1px dashed #ffcc00;
}

.map-box {
    margin-top: 12px;
    height: 320px;
    border: 2px solid #ffcc00;
    border-radius: 8px;
}

/* Animations */
.glow {
    animation: glow 1.5s ease-in-out infinite alternate;
}

@keyframes glow {
    from { text-shadow: 0 0 6px rgba(255, 204, 0, 0.5); }
    to { text-shadow: 0 0 16px rgba(255, 204, 0, 0.9); }
}

.pop {
    animation: pop 0.8s ease;
}

@keyframes pop {
    0% { transform: scale(0.8); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
