/* Docs page styles extracted from inline */
/* Tabs styling */
#docs-tabs { position: sticky; top: 0; z-index: 10; background: rgba(0,0,0,0.25); backdrop-filter: blur(6px); }
#docs-tabs .tab-btn { color: #cbd5e1; border-bottom: 2px solid transparent; padding: 10px 12px; font-weight: 600; border-top-left-radius: 6px; border-top-right-radius: 6px; }
#docs-tabs .tab-btn:hover { background: rgba(255,255,255,0.06); color: #fff; }
#docs-tabs .tab-btn[aria-selected="true"] { color: #fff; background: rgba(255,255,255,0.06); border-bottom-color: var(--accent); }

/* Sidebar link states */
#docs-sidebar a { color: #cbd5e1; }
#docs-sidebar a:hover { color: #fff; }
#docs-sidebar a.active, #docs-sidebar a[aria-current="true"] { color: #fff; background: rgba(255,255,255,0.06); border-left: 3px solid var(--accent); }

/* Content typography (markdown-like) */
.markdown-body { line-height: 1.5; }
.markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #fff; font-weight: 800; margin: 0.6rem 0 0.35rem; line-height: 1.22; }
.markdown-body h1 { font-size: 1.55rem; }
.markdown-body h2 { font-size: 1.28rem; }
.markdown-body h3 { font-size: 1.08rem; }
.markdown-body p { margin: 0.35rem 0; color: #d1d5db; }
.markdown-body a { color: var(--accent); text-decoration: underline; }
.markdown-body ul, .markdown-body ol { padding-left: 1.1rem; margin: 0.35rem 0; list-style-position: outside; }
.markdown-body ul { list-style: disc; }
.markdown-body ol { list-style: decimal; }
.markdown-body li + li { margin-top: 0.1rem; }
.markdown-body li { padding-left: 0.05rem; }
.markdown-body li p { margin: 0.2rem 0; }
.markdown-body code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; background: rgba(255,255,255,0.08); padding: 0.15rem 0.35rem; border-radius: 4px; color: #e5e7eb; }
.markdown-body pre { background: rgba(255,255,255,0.08); padding: 0.6rem; border-radius: 6px; overflow: auto; }
.markdown-body pre code { background: transparent; padding: 0; }
.markdown-body blockquote { border-left: 3px solid rgba(255,255,255,0.25); padding-left: 0.7rem; color: #cbd5e1; margin: 0.4rem 0; }
.markdown-body hr { border: 0; border-top: 1px solid rgba(255,255,255,0.15); margin: 0.6rem 0; }
.markdown-body img { max-width: 100%; border-radius: 6px; }

/* Visual indentation for nested sub elements */
.doc-node.depth-0 { padding-left: 0; border-left: 0; }
.doc-node.depth-1 { padding-left: 1rem; border-left: 1px dashed rgba(255,255,255,0.15); }
.doc-node.depth-2 { padding-left: 1.5rem; border-left: 1px dashed rgba(255,255,255,0.15); }
.doc-node.depth-3 { padding-left: 2rem; border-left: 1px dashed rgba(255,255,255,0.15); }
.doc-node.depth-4 { padding-left: 2.5rem; border-left: 1px dashed rgba(255,255,255,0.15); }

/* Discord-style spoiler */
.markdown-body .spoiler { background: #4b5563; color: transparent; border-radius: 4px; padding: 0 4px; cursor: pointer; }
.markdown-body .spoiler::selection { color: transparent; }
.markdown-body .spoiler.open { color: inherit; background: rgba(255,255,255,0.08); }
.markdown-body video { max-width: 100%; display: block; }
.markdown-body span[style^="color:"] { text-decoration: inherit; }
.markdown-body pre, .markdown-body code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.markdown-body pre { background: rgba(255,255,255,0.06); padding: 0.6rem; border-radius: 6px; overflow: auto; border: 1px solid rgba(255,255,255,0.08); }
.markdown-body code { background: rgba(255,255,255,0.06); padding: 0.08rem 0.28rem; border-radius: 4px; }
.markdown-body blockquote { border-left: 3px solid rgba(255,255,255,0.2); margin: 0.4rem 0; padding-left: 0.7rem; color: #e5e7eb; }
.markdown-body ul { list-style: disc; padding-left: 1.25rem; }
.markdown-body ol { list-style: decimal; padding-left: 1.25rem; }
.markdown-body li { margin: 0; }
/* Ensure bullets/numbers align with the first line of text by removing outer margins in list item content */
.markdown-body li > *:first-child { margin-top: 0; }
.markdown-body li > *:last-child { margin-bottom: 0; }

/* Highlight target doc section when deep-linking */
.doc-highlight { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 6px; animation: docHighlightFade 2s ease-out forwards; }
@keyframes docHighlightFade {
	0% { box-shadow: 0 0 0 4px rgba(59,130,246,0.35); }
	100% { box-shadow: 0 0 0 0 rgba(59,130,246,0); }
}

/* Self-contained hover card component (docs-tooltip style) */
.hovercard { position: absolute; z-index: 1000; background: rgba(0,0,0,0.7); color: #fff; border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 10px; max-width: 320px; backdrop-filter: blur(6px); box-shadow: 0 10px 30px rgba(0,0,0,0.35); }
.hovercard .hovercard-body { max-height: 240px; overflow: auto; }
.hovercard .hovercard-footer { margin-top: 8px; font-size: 12px; }
.hovercard a { color: var(--accent); text-decoration: underline; }
