/* AI Website Theme */
:root {
    --color-1: #d6e4f5;
    --color-2: #a4c8df;
    --color-3: #7bb7d1;
    --color-4: #4aa0c4;
    --color-5: #1d3a6d;
    
    --ai-bg: var(--color-5);
    --ai-surface: var(--color-4);
    --ai-surface-hover: var(--color-3);
    --ai-border: var(--color-2);
    --ai-primary: var(--color-4);
    --ai-primary-hover: var(--color-3);
    --ai-secondary: var(--color-5);
    --ai-accent: var(--color-4);
    --ai-text: var(--color-1);
    --ai-text-muted: var(--color-2);
    --ai-text-secondary: var(--color-3);
    --ai-glow: rgba(74, 160, 196, 0.3);
    --ai-gradient: linear-gradient(135deg, var(--color-4), var(--color-5));
    --ai-gradient-subtle: linear-gradient(135deg, var(--color-4), var(--color-3));
}

body {
    background-color: var(--color-1);
    color: var(--color-5);
}

/* CKEditor Content Styling */
.prose table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin: 1.5rem auto;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.prose table th,
.prose table td {
    border-right: 1px solid var(--ai-border);
    border-bottom: 1px solid var(--ai-border);
    padding: 2px 8px;
    text-align: left;
    line-height: 3.1;
    font-size: 0.85rem;
}

.prose table th:last-child,
.prose table td:last-child {
    border-right: none;
}

.prose table tr:last-child th,
.prose table tr:last-child td {
    border-bottom: none;
}

.prose table th {
    background-color: var(--ai-surface);
    font-weight: 600;
    color: var(--color-5);
    border-top: none;
}

.prose table tr:nth-child(even) {
    background-color: rgba(166, 200, 223, 0.1);
}

.prose table tr:hover {
    background-color: rgba(166, 200, 223, 0.2);
}

/* Content spacing */
.prose p {
    margin-bottom: 1rem;
    line-height: 1.1;
}

.prose h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 {
    margin: 2rem 0 1rem 0;
    font-weight: 700;
}

.prose ul,
.prose ol {
    margin: 1rem 0;
    padding-left: 2rem;
}

.prose li {
    margin: 0.5rem 0;
}

.prose blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.5rem;
    border-left: 4px solid var(--ai-primary);
    font-style: italic;
}

.prose pre {
    margin: 1.5rem 0;
    padding: 1rem;
    background-color: var(--color-5);
    color: var(--color-1);
    border-radius: 4px;
    overflow-x: auto;
}

.prose code {
    padding: 0.2rem 0.4rem;
    border-radius: 3px;
    font-family: 'Monaco', 'Consolas', monospace;
}

.prose pre code {
    background-color: transparent;
    padding: 0;
}

/* Image styling */
.prose img {
    max-width: 100%;
    height: auto;
    margin: 1.5rem 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Ensure proper spacing for nested elements */
.prose > *:first-child {
    margin-top: 0;
}

.prose > *:last-child {
    margin-bottom: 0;
}