/* Custom dark theme colors using CSS variables */
:root {
  --dark-theme-bg: #0d1117;
  --dark-theme-canvas: #161b22;
  --dark-theme-border: #30363d;
  --dark-theme-text: #f0f6fc;
  --dark-theme-muted: #8b949e;
  --dark-theme-accent: #58a6ff;
  --dark-theme-success: #3fb950;
  --dark-theme-attention: #f85149;

}

/* Apply dark theme colors using standard classes */
.dark .bg-dark-theme-bg { background-color: var(--dark-theme-bg) !important; }
.dark .bg-dark-theme-canvas { background-color: var(--dark-theme-canvas) !important; }
.dark .border-dark-theme-border { border-color: var(--dark-theme-border) !important; }
.dark .text-dark-theme-text { color: var(--dark-theme-text) !important; }
.dark .text-dark-theme-muted { color: var(--dark-theme-muted) !important; }
.dark .text-dark-theme-accent { color: var(--dark-theme-accent) !important; }

/* Light mode variants */
.bg-dark-theme-accent { background-color: var(--dark-theme-accent); }
.text-dark-theme-accent { color: var(--dark-theme-accent); }
.border-dark-theme-accent { border-color: var(--dark-theme-accent); }

/* Hover states */
.dark .hover\:bg-dark-theme-accent:hover { background-color: var(--dark-theme-accent) !important; }
.dark .hover\:text-dark-theme-accent:hover { color: var(--dark-theme-accent) !important; }
.dark .hover\:text-dark-theme-text:hover { color: var(--dark-theme-text) !important; }
.dark .hover\:border-dark-theme-accent:hover { border-color: var(--dark-theme-accent) !important; }

/* Focus states */
.dark .focus\:ring-dark-theme-accent:focus { --tw-ring-color: var(--dark-theme-accent) !important; }
.dark .focus\:border-dark-theme-accent:focus { border-color: var(--dark-theme-accent) !important; }

/* Custom markdown content styles */
.markdown-content h1 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}
.markdown-content h2 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}
.markdown-content h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-top: 1rem;
    margin-bottom: 0.75rem;
}
.markdown-content p {
    margin-bottom: 1rem;
    color: #374151;
    line-height: 1.625;
}
.markdown-content ul,
.markdown-content ol {
    margin-bottom: 1rem;
    margin-left: 1.5rem;
    padding-left: 1.25rem;
    list-style-position: outside;
}
.markdown-content ul {
    list-style-type: disc !important;
}
.markdown-content ol {
    list-style-type: decimal !important;
}
.markdown-content li {
    margin-bottom: 0.5rem;
    color: #374151;
}
.markdown-content strong {
    font-weight: 600;
    color: #111827;
}

/* Dark mode styles for markdown content */
.dark .markdown-content h1,
.dark .markdown-content h2,
.dark .markdown-content h3,
.dark .markdown-content strong {
    color: #f0f6fc;
}
.dark .markdown-content p,
.dark .markdown-content li {
    color: #8b949e;
}

/* Search dropdown highlight */
.search-result-active {
    background-color: rgba(88, 166, 255, 0.18);
    color: #0b3f81;
}
.search-result-active h3,
.search-result-active p,
.search-result-active .search-result-url {
    color: inherit;
}
.search-result-active .search-result-type {
    background-color: rgba(255, 255, 255, 0.3);
    color: inherit;
}
.dark .search-result-active {
    background-color: rgba(88, 166, 255, 0.22);
    color: #d7e9ff;
}
.dark .search-result-active .search-result-type {
    background-color: rgba(255, 255, 255, 0.18);
    color: inherit;
}

/* HTMX indicator styles */
.htmx-indicator {
    display: none;
}
.htmx-request .htmx-indicator {
    display: inline;
}
.htmx-request.htmx-indicator {
    display: inline;
}

.document-row-highlight {
    animation: document-row-flash 2.5s ease-out;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.35);
    border-color: rgba(59, 130, 246, 0.6) !important;
}

@keyframes document-row-flash {
    0% {
        background-color: rgba(191, 219, 254, 0.7);
    }
    50% {
        background-color: rgba(191, 219, 254, 0.35);
    }
    100% {
        background-color: transparent;
    }
}

.dark .document-row-highlight {
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.5);
    border-color: rgba(96, 165, 250, 0.7) !important;
}
