/* Doku von ipv64.net: dreispaltig (Navigation, Inhalt, Sprungmarken) auf Bootstrap 4.4 von ipv64.net,
   hell und dunkel ueber html[data-theme] wie darkmode.css. */
:root {
	--docs-border: #e3e6ea;
	--docs-soft: #f6f7f9;
	--docs-text-muted: #6c757d;
	--docs-active: #0d6efd;
	--docs-active-bg: rgba(13, 110, 253, .08);
	--docs-code-bg: #f3f4f6;
	--docs-accent: #f0ad4e;
	--docs-top: 4.5rem;
}
html[data-theme="dark"] {
	--docs-border: #343a40;
	--docs-soft: #1b1f24;
	--docs-text-muted: #9aa3ad;
	--docs-active: #6ea8fe;
	--docs-active-bg: rgba(110, 168, 254, .12);
	--docs-code-bg: #23282e;
}
html { scroll-padding-top: var(--docs-top); }
.docs-wrap { max-width: 1600px; padding-top: 1.5rem; padding-bottom: 2rem; }

/* linke Spalte */
.docs-side { border-right: 1px solid var(--docs-border); }
@media (min-width: 992px) {
	.docs-nav { position: sticky; top: var(--docs-top); max-height: calc(100vh - var(--docs-top) - 1rem); overflow-y: auto; padding-right: .5rem; }
}
.docs-group { margin-bottom: 1.1rem; }
.docs-group-title { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--docs-text-muted); margin-bottom: .3rem; }
.docs-link { display: block; padding: .28rem .6rem; border-radius: .35rem; font-size: .92rem; color: inherit; border-left: 2px solid transparent; }
.docs-link:hover { text-decoration: none; background: var(--docs-soft); }
.docs-link.active { color: var(--docs-active) !important; background: var(--docs-active-bg); border-left-color: var(--docs-active); font-weight: 600; }
.docs-link i { color: var(--docs-text-muted); }
.docs-link.active i { color: inherit; }

/* Suche */
.docs-search { position: relative; }
.docs-results { position: absolute; z-index: 1030; left: 0; right: 0; top: 100%; margin-top: .25rem; max-height: 60vh; overflow-y: auto;
	background: #fff; border: 1px solid var(--docs-border); border-radius: .4rem; box-shadow: 0 .5rem 1.2rem rgba(0,0,0,.12); }
html[data-theme="dark"] .docs-results { background: #23282e; }
.docs-results a { display: block; padding: .45rem .65rem; border-bottom: 1px solid var(--docs-border); color: inherit; font-size: .88rem; }
.docs-results a:last-child { border-bottom: 0; }
.docs-results a:hover, .docs-results a.sel { text-decoration: none; background: var(--docs-active-bg); }
.docs-results .r-page { display: block; font-size: .72rem; color: var(--docs-text-muted); }
.docs-results .r-title { font-weight: 600; }
.docs-results .r-text { display: block; font-size: .8rem; color: var(--docs-text-muted); }
.docs-results mark { padding: 0 .1em; background: rgba(240, 173, 78, .35); color: inherit; }
.docs-results .r-none { padding: .5rem .65rem; font-size: .85rem; color: var(--docs-text-muted); }
html[data-theme="dark"] .form-control { background-color: #1b1f24; border-color: #343a40; color: #d8dde3; }

/* Inhalt */
.docs-body { min-width: 0; padding-left: 2rem; padding-right: 2rem; line-height: 1.6; }
@media (max-width: 991.98px) { .docs-body { padding-left: 15px; padding-right: 15px; } }
.docs-body h1 { font-size: 2.75rem; font-weight: 300; line-height: 1.2; margin-bottom: .75rem; } /* wie display-Ueberschriften auf ipv64.net */
.docs-body .lead { color: var(--docs-text-muted); }
.docs-body h2 { font-size: 1.6rem; font-weight: 500; margin-top: 2.6rem; padding-top: .5rem; border-top: 1px solid var(--docs-border); }
.docs-body h3 { font-size: 1.25rem; font-weight: 500; margin-top: 1.8rem; }
.docs-body h2 .anchor, .docs-body h3 .anchor { margin-left: .4rem; font-size: .8em; opacity: 0; color: var(--docs-text-muted); }
.docs-body h2:hover .anchor, .docs-body h3:hover .anchor { opacity: 1; text-decoration: none; }
.docs-body code { background: var(--docs-code-bg); color: #c7254e; padding: .1em .35em; border-radius: .25rem; font-size: .88em; }
html[data-theme="dark"] .docs-body code { color: #f1a6c0; }
.docs-body pre { position: relative; background: #1e2329; color: #e6e6e6; padding: 1rem 1.1rem; border-radius: .45rem; font-size: .86rem; overflow-x: auto; }
.docs-body pre code { background: none; color: inherit; padding: 0; font-size: inherit; }
.docs-body pre .copy { position: absolute; top: .4rem; right: .4rem; padding: .1rem .45rem; font-size: .75rem; color: #c9d1d9; background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.18); border-radius: .3rem; opacity: 0; transition: opacity .15s; cursor: pointer; }
.docs-body pre:hover .copy, .docs-body pre .copy:focus { opacity: 1; }
.docs-body table { font-size: .92rem; }
.docs-body .table-responsive { margin-bottom: 1rem; }
html[data-theme="dark"] .docs-body .table { color: #d8dde3; }
html[data-theme="dark"] .docs-body .table td, html[data-theme="dark"] .docs-body .table th { border-color: #343a40; }
.docs-body .callout { border-left: 4px solid var(--docs-active); background: var(--docs-soft); padding: .8rem 1rem; border-radius: .35rem; margin: 1.2rem 0; }
.docs-body .callout.warn { border-left-color: var(--docs-accent); }
.docs-body .callout.danger { border-left-color: #dc3545; }
.docs-body .callout > :last-child { margin-bottom: 0; }
.docs-body .steps { counter-reset: step; list-style: none; padding-left: 0; }
.docs-body .steps > li { counter-increment: step; position: relative; padding-left: 2.4rem; margin-bottom: .9rem; }
.docs-body .steps > li::before { content: counter(step); position: absolute; left: 0; top: .05rem; width: 1.7rem; height: 1.7rem; border-radius: 50%;
	background: var(--docs-active); color: #fff; font-size: .85rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.docs-body .card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; margin: 1.2rem 0; }
.docs-body .card-grid a { display: block; padding: 1rem; border: 1px solid var(--docs-border); border-radius: .5rem; color: inherit; }
.docs-body .card-grid a:hover { text-decoration: none; border-color: var(--docs-active); background: var(--docs-active-bg); }
.docs-body .card-grid strong { display: block; margin-bottom: .25rem; }
.docs-body .card-grid span { font-size: .88rem; color: var(--docs-text-muted); }
.docs-body .todo { background: #fff3cd; color: #856404; padding: 0 .3em; border-radius: .2rem; }
.docs-body img { max-width: 100%; height: auto; border-radius: .4rem; }
.breadcrumb { background: none; padding: 0; margin-bottom: 1rem; }
html[data-theme="dark"] .breadcrumb-item.active { color: #9aa3ad; }
.docs-pager .pager-link { display: flex; flex-direction: column; max-width: 48%; color: inherit; }
.docs-pager .pager-link:hover { text-decoration: none; color: var(--docs-active); }

/* rechte Spalte: Sprungmarken */
.docs-toc .toc-inner { position: sticky; top: var(--docs-top); max-height: calc(100vh - var(--docs-top) - 1rem); overflow-y: auto; border-left: 1px solid var(--docs-border); padding-left: 1rem; }
.docs-toc .toc-title { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--docs-text-muted); margin-bottom: .4rem; }
.docs-toc a { display: block; font-size: .86rem; padding: .2rem 0 .2rem .6rem; margin-left: -1.05rem; border-left: 2px solid transparent; color: var(--docs-text-muted); }
.docs-toc a:hover { text-decoration: none; color: inherit; }
.docs-toc a.active { color: var(--docs-active); border-left-color: var(--docs-active); font-weight: 600; }
.docs-toc .toc-top { margin-top: .8rem; }
.docs-body .callout-title { font-weight: 700; margin-bottom: .3rem; }
.docs-body .callout.info { border-left-color: var(--docs-active); }
/* Schemas als Text (pre.ascii): Farben fuer Hinweise (g), Hervorhebung (o) und OK (ok) */
.docs-body pre.ascii { line-height: 1.35; }
.docs-body pre.ascii .g { color: #8b949e; }
.docs-body pre.ascii .o { color: #f0ad4e; font-weight: 700; }
.docs-body pre.ascii .ok { color: #3fb950; }
@media (max-width: 991.98px) { .docs-side { border-right: 0; } }
@media (max-width: 575.98px) { .docs-body h1 { font-size: 1.9rem; } .docs-body .lead { font-size: 1.1rem; } .docs-body h2 { font-size: 1.35rem; } }
