/* Theme Styles */

/* Light Theme (Default) */
body[data-theme="light"] {
    --primary-color: #4a90e2;
    --primary-hover: #357abd;
    --bg-main: #ffffff;
    --bg-secondary: #f5f5f5;
    --bg-code: #282c34;
    --text-primary: #333333;
    --text-secondary: #666666;
    --border-color: #dddddd;
}

/* Dark Theme */
body[data-theme="dark"] {
    --primary-color: #64b5f6;
    --primary-hover: #42a5f5;
    --bg-main: #1e1e1e;
    --bg-secondary: #2d2d2d;
    --bg-code: #1a1a1a;
    --text-primary: #e0e0e0;
    --text-secondary: #b0b0b0;
    --border-color: #404040;
}

body[data-theme="dark"] .preview-content code {
    color: #ff79c6;
}

body[data-theme="dark"] .preview-content blockquote {
    background-color: #2d2d2d;
    color: #b0b0b0;
}

/* Sepia Theme */
body[data-theme="sepia"] {
    --primary-color: #9c6644;
    --primary-hover: #7d5236;
    --bg-main: #f4ecd8;
    --bg-secondary: #e8dcc4;
    --bg-code: #3d3328;
    --text-primary: #5a4a3a;
    --text-secondary: #7a6a5a;
    --border-color: #d0c4b0;
}

body[data-theme="sepia"] .preview-content code {
    color: #9c6644;
    background-color: #e8dcc4;
}

body[data-theme="sepia"] .preview-content blockquote {
    background-color: #e8dcc4;
    color: #7a6a5a;
}

body[data-theme="sepia"] .preview-content pre {
    background-color: #3d3328;
    color: #f4ecd8;
}

/* GitHub Theme */
body[data-theme="github"] {
    --primary-color: #0969da;
    --primary-hover: #0860ca;
    --bg-main: #ffffff;
    --bg-secondary: #f6f8fa;
    --bg-code: #f6f8fa;
    --text-primary: #24292f;
    --text-secondary: #57606a;
    --border-color: #d0d7de;
}

body[data-theme="github"] .preview-content {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
}

body[data-theme="github"] .preview-content code {
    color: #cf222e;
    background-color: rgba(175, 184, 193, 0.2);
}

body[data-theme="github"] .preview-content pre {
    background-color: #f6f8fa;
    border: 1px solid #d0d7de;
}

body[data-theme="github"] .preview-content pre code {
    color: #24292f;
}

body[data-theme="github"] .preview-content blockquote {
    background-color: transparent;
    color: #57606a;
    border-left-color: #d0d7de;
}

body[data-theme="github"] .preview-content table th {
    background-color: #f6f8fa;
}

/* Font Size Classes */
body[data-font-size="14"] .preview-content {
    font-size: 14px;
}

body[data-font-size="16"] .preview-content {
    font-size: 16px;
}

body[data-font-size="18"] .preview-content {
    font-size: 18px;
}

body[data-font-size="20"] .preview-content {
    font-size: 20px;
}

body[data-font-size="22"] .preview-content {
    font-size: 22px;
}

/* Smooth transitions for theme changes */
body,
.app-header,
.toolbar,
.pane,
.editor,
.preview-content,
.btn,
.select {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    :root {
        --border-color: #000000;
    }
    
    body[data-theme="dark"] {
        --border-color: #ffffff;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
