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

@media (min-width: 800px) {
    .jwt-layout {
        flex-direction: row;
        align-items: stretch;
    }
    .input-area, .output-area {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-md);
    }
}

#jwt-input {
    width: 100%;
    min-height: 350px;
    padding: var(--spacing-md);
    font-family: "Courier New", Courier, monospace;
    font-size: 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    resize: vertical;
    background-color: var(--color-light-gray);
    color: var(--color-text);
    word-break: break-all;
}

#jwt-input.error {
    border-color: #e74c3c;
    box-shadow: 0 0 5px rgba(231, 76, 60, 0.3);
}

.decoded-box {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.code-output {
    width: 100%;
    flex-grow: 1;
    min-height: 150px;
    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: #282c34;
    color: #abb2bf;
    margin-top: 0.5rem;
}

[data-theme="dark"] #jwt-input {
    background-color: var(--color-light-gray);
}