body {
    font-family: 'Inter', sans-serif;
}

/* Custom styles for highlight.js to better match the theme */
.hljs {
    background: #1e293b; /* slate-800 */
    color: #cbd5e1; /* slate-300 */
    border-radius: 0.5rem;
    padding: 1.25rem;
    position: relative;
}

.hljs-comment,
.hljs-quote {
    color: #64748b; /* slate-500 */
    font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag,
.hljs-subst {
    color: #0ea5e9; /* sky-500 */
}

.hljs-number,
.hljs-literal,
.hljs-variable,
.hljs-template-variable,
.hljs-tag .hljs-attr {
    color: #67e8f9; /* cyan-300 */
}

.hljs-string,
.hljs-doctag {
    color: #5eead4; /* teal-300 */
}

.hljs-title,
.hljs-section,
.hljs-selector-id {
    color: #22d3ee; /* cyan-400 */
    font-weight: bold;
}

.hljs-subst {
    font-weight: normal;
}

.hljs-type,
.hljs-class .hljs-title {
    color: #0ea5e9; /* sky-500 */
    font-weight: bold;
}

.hljs-tag,
.hljs-name,
.hljs-attribute {
    color: #f8fafc; /* slate-50 */
    font-weight: normal;
}

.hljs-regexp,
.hljs-link {
    color: #5eead4; /* teal-300 */
}

.hljs-symbol,
.hljs-bullet {
    color: #67e8f9; /* cyan-300 */
}

.hljs-built_in,
.hljs-builtin-name {
    color: #a5f3fc; /* cyan-200 */
}

.hljs-meta {
    color: #94a3b8; /* slate-400 */
}

.hljs-deletion {
    background: #5A1D1D;
}

.hljs-addition {
    background: #1F441F;
}

.hljs-emphasis {
    font-style: italic;
}

.hljs-strong {
    font-weight: bold;
}

pre {
    position: relative;
}
.copy-code-btn {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    background-color: #334155; /* slate-700 */
    color: #94a3b8; /* slate-400 */
    border: none;
    padding: 0.5rem;
    border-radius: 0.375rem;
    cursor: pointer;
    opacity: 0.5;
    transition: opacity 0.2s ease-in-out;
}

pre:hover .copy-code-btn {
    opacity: 1;
}

.copy-code-btn:hover {
    background-color: #475569; /* slate-600 */
    color: #cbd5e1; /* slate-300 */
}

/* Custom styles for search highlighting */
mark {
    background-color: #a7f3d0; /* teal-200 */
    color: #0d9488; /* teal-600 */
    padding: 0.05em 0.2em;
    margin: -0.05em -0.2em;
    border-radius: 0.2em;
}

/* Hide the default marker from summary elements */
summary::-webkit-details-marker {
  display: none;
}
