/* Lore-Kodex (/kodex/, features/kodex.php) – Pergament-Einträge auf dunklem Grund, Gold wie der Rest der Seite */
.guc-kodex { --kx-gold: var(--wp--preset--color--accent-1, #d6b25e); --kx-line: color-mix(in srgb, var(--kx-gold) 25%, transparent);
  --kx-card: color-mix(in srgb, var(--wp--preset--color--base, #141110) 88%, var(--kx-gold)); --kx-paper: #e9dcbc; --kx-ink: #2b1d10; }
.guc-kodex code { font-size: .9em; }
.kx-gate .wp-element-button { margin-right: .8rem; }

.kx-helden { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 .6rem; }
.kx-helden a { padding: .25rem .7rem; border: 1px solid var(--kx-line); border-radius: 999px; text-decoration: none; font-size: .9rem; }
.kx-helden a span { opacity: .65; font-size: .8em; margin-left: .2rem; }
.kx-helden a[aria-current] { border-color: var(--kx-gold); background: color-mix(in srgb, var(--kx-gold) 18%, transparent); }

.kx-progress p { margin: .4rem 0; }
.kx-bar { height: 8px; border-radius: 4px; background: var(--kx-card); border: 1px solid var(--kx-line); overflow: hidden; }
.kx-bar i { display: block; height: 100%; background: linear-gradient(90deg, #8a6a2a, var(--kx-gold)); }

.kx-tools { margin: 1.1rem 0 .3rem; }
.kx-search { width: 100%; box-sizing: border-box; padding: .55rem .8rem; font: inherit; color: inherit; background: var(--kx-card);
  border: 1px solid var(--kx-line); border-radius: 6px; }
.kx-search:focus { outline: 2px solid var(--kx-gold); outline-offset: 1px; }
.kx-search-info { margin: .3rem 0 0; min-height: 1.2em; font-size: .85rem; }

.kx-tabs { display: flex; flex-wrap: wrap; gap: .3rem .9rem; margin: .6rem 0 1rem; font-size: .92rem; }
.kx-tabs a { text-decoration: none; }
.kx-tabs a span { opacity: .6; font-size: .85em; }
.guc-kodex.is-searching .kx-tabs { display: none; }

.kx-section { margin: 1.6rem 0; scroll-margin-top: 5rem; }
.kx-section h2 { margin: 0 0 .6rem; }
.kx-section h2 .guc-muted { font-size: .55em; font-weight: 400; margin-left: .3rem; }
.kx-latest { margin: 0; padding-left: 1.1rem; }
.kx-latest li { margin: .25rem 0; }

.kx-group { border: 1px solid var(--kx-line); border-radius: 6px; background: var(--kx-card); margin: .45rem 0; }
.kx-group > summary { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .8rem; cursor: pointer; font-weight: 700; }
.kx-gcount { font-weight: 400; font-size: .85rem; opacity: .7; white-space: nowrap; }
.kx-glist { padding: .1rem .6rem .6rem; }
.kx-timeline { padding: 0; }

.kx-entry { margin: .4rem 0; border-radius: 4px; background: var(--kx-paper); color: var(--kx-ink); box-shadow: 0 1px 3px #0006; scroll-margin-top: 5rem; }
.kx-entry > summary { padding: .5rem .8rem; cursor: pointer; display: flex; flex-wrap: wrap; align-items: baseline; gap: .1rem .6rem; list-style: none; }
.kx-entry > summary::-webkit-details-marker { display: none; }
.kx-entry > summary::before { content: "❧"; color: #8a5a1c; margin-right: .1rem; }
.kx-entry[open] > summary::before { content: "☙"; }
.kx-t { font-family: var(--wp--preset--font-family--vollkorn, serif); font-weight: 700; font-size: 1.08rem; }
.kx-sub { font-size: .8rem; color: #6b5338; }
.kx-new { font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; padding: .05rem .4rem; border-radius: 3px; background: #7a2416; color: #f6e7c4; }
.kx-body { padding: 0 1rem .8rem 1.9rem; font-family: var(--wp--preset--font-family--vollkorn, serif); font-size: 1.02rem; line-height: 1.55; }
.kx-body p { margin: .5rem 0; }
.kx-more { font-style: italic; color: #7a2416; }
.kx-meta { font-family: var(--wp--preset--font-family--fira-sans, sans-serif); font-size: .8rem; color: #6b5338; }
.kx-rel { font-family: var(--wp--preset--font-family--fira-sans, sans-serif); font-size: .85rem; }
.kx-rel > span { font-weight: 700; }
.kx-rel a { color: #7a2416 !important; }
.kx-entry.is-target { box-shadow: 0 0 0 2px var(--kx-gold), 0 1px 3px #0006; }

.kx-entry.is-locked { padding: .45rem .8rem; background: transparent; color: inherit; box-shadow: none; border: 1px dashed var(--kx-line); }
.kx-q { font-family: var(--wp--preset--font-family--vollkorn, serif); font-weight: 700; letter-spacing: .1em; opacity: .55; }
.kx-locked { margin: .5rem 0 .2rem; font-size: .9rem; }
.kx-locked > summary { cursor: pointer; opacity: .75; }
.kx-locked ul { margin: .3rem 0; padding-left: 1rem; list-style: none; }
.kx-locked li { margin: .2rem 0; }
.kx-unknown-zones p { font-size: .85rem; opacity: .7; line-height: 1.6; }
.kx-foot { margin-top: 2rem; font-size: .85rem; }

@media (max-width: 600px) {
  .kx-body { padding: 0 .8rem .7rem 1rem; font-size: 1rem; }
  .kx-glist { padding: .1rem .35rem .5rem; }
}
