
.json-layout {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

@media (min-width: 800px) {
    .json-layout {
        flex-direction: row;
        align-items: stretch;
    }
    .input-area, .output-area {
        flex: 1;
        display: flex;
        flex-direction: column;
    }
    .controls-area {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: var(--spacing-sm);
    }
}

textarea {
    width: 100%;
    min-height: 300px;
    flex-grow: 1;
    padding: var(--spacing-md);
    font-family: "Courier New", Courier, monospace;
    font-size: 0.95rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    resize: vertical;
    background-color: var(--color-light-gray);
    color: var(--color-text);
    margin-top: var(--spacing-sm);
}

.controls-area {
    display: flex;
    gap: var(--spacing-sm);
}

.secondary-btn {
    background-color: #6c757d;
}
.secondary-btn:hover {
    background-color: #5a6268;
}

.validation-box {
    margin-top: var(--spacing-sm);
    padding: var(--spacing-sm);
    border-radius: var(--radius);
    font-size: 0.9rem;
    display: none;
}

.validation-box.success {
    display: block;
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.validation-box.error {
    display: block;
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}