/* Kampf & Ehre: Kopfgeldbrett, Bestiarium, Gedenkstätte, Fraktionskrieg */
.guc-ehre { --eh-gold: var(--wp--preset--color--accent-1, #E2B04A); --eh-red: var(--wp--preset--color--accent-2, #8F1D14);
  --eh-card: var(--wp--preset--color--accent-5, #1C1813); --eh-line: rgba(205, 191, 164, .22); --eh-ally: #3a6fd0; --eh-horde: #c0392b; }
.guc-ehre h2 { font-family: var(--wp--preset--font-family--vollkorn, serif); margin-top: 2.2rem; }
.guc-ehre h3 { font-family: var(--wp--preset--font-family--vollkorn, serif); }
.guc-ehre *, .guc-ehre *::before, .guc-ehre *::after { box-sizing: border-box; }

/* ------------------------------------------------ Kopfgeldbrett */
.guc-kg-stats { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin: 1rem 0; font-size: .95rem; }
.guc-kg-stats strong { color: var(--eh-gold); font-size: 1.3rem; margin-right: .25rem; }
.guc-kg-board { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.4rem 1.2rem; margin: 1.2rem 0; padding: 1.2rem;
  background: repeating-linear-gradient(90deg, #3b2a1a 0 46px, #34251a 46px 92px); border: 6px solid #22170f; border-radius: 6px;
  box-shadow: inset 0 0 40px #0009; }
.guc-kg-poster { position: relative; background: radial-gradient(ellipse at 50% 40%, #e6d3a6 0%, #d5bd88 60%, #b99a62 100%); color: #2b1d10;
  border: 1px solid #6b4c2a; padding: 1.4rem .9rem .9rem; text-align: center; box-shadow: 3px 5px 12px #0008; transform: rotate(-1deg); }
.guc-kg-poster:nth-child(3n+2) { transform: rotate(1.2deg); }
.guc-kg-poster:nth-child(3n) { transform: rotate(-.3deg); }
.guc-kg-poster::before { content: ""; position: absolute; top: 6px; left: 50%; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #d9d9d9, #555); box-shadow: 1px 2px 3px #0008; }
.guc-kg-poster .kg-head { margin: 0; font-family: var(--wp--preset--font-family--vollkorn, serif); font-weight: 900; font-size: 2rem; line-height: 1;
  letter-spacing: .14em; text-transform: uppercase; color: #6a1a0f; }
.guc-kg-poster .kg-sub { margin: .1rem 0 .4rem; font-style: italic; font-size: .85rem; }
.guc-kg-poster .kg-skulls { font-size: 1.05rem; letter-spacing: .1em; color: #5a1a10; }
.guc-kg-poster .kg-skulls i { font-style: normal; }
.guc-kg-poster .kg-skulls .off { opacity: .2; }
.guc-kg-poster h3 { margin: .3rem 0 .1rem; font-size: 1.3rem; line-height: 1.15; color: #1c120a; overflow-wrap: anywhere; }
.guc-kg-poster .kg-meta { margin: 0; font-size: .85rem; }
.guc-kg-poster .kg-aff { margin: .25rem 0 0; font-weight: 700; font-size: .82rem; color: #6a1a0f; }
.guc-kg-poster .kg-facts { margin: .6rem 0 .5rem; font-size: .82rem; text-align: left; }
.guc-kg-poster .kg-facts div { display: flex; justify-content: space-between; gap: .5rem; border-bottom: 1px dotted #6b4c2a88; padding: .15rem 0; }
.guc-kg-poster .kg-facts dt { font-weight: 700; white-space: nowrap; }
.guc-kg-poster .kg-facts dd { margin: 0; text-align: right; }
.guc-kg-poster .kg-bounty { margin: .5rem 0 0; padding-top: .4rem; border-top: 2px solid #6b4c2a; font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; }
.guc-kg-poster .kg-bounty strong { font-size: 1.5rem; color: #6a1a0f; letter-spacing: 0; }
.guc-kg-poster.kg-r4, .guc-kg-poster.kg-r5 { border: 2px solid #6a1a0f; }
.guc-kg-poster.kg-r5 .kg-head { text-shadow: 0 0 1px #6a1a0f; }
.guc-kg-more > summary { cursor: pointer; color: var(--eh-gold); margin: .4rem 0 1rem; }
.guc-kg-done, .guc-kg-hunters { padding-left: 0; list-style: none; }
.guc-kg-done li, .guc-kg-hunters li { padding: .45rem .2rem; border-bottom: 1px solid var(--eh-line); }
.guc-kg-hunters { counter-reset: kg; }
.guc-kg-hunters li { counter-increment: kg; }
.guc-kg-hunters li::before { content: counter(kg) "."; color: var(--eh-gold); font-weight: 700; display: inline-block; width: 1.8em; }
.kg-stamp { display: inline-block; transform: rotate(-4deg); border: 2px solid var(--eh-red); color: #e0574a; font-size: .68rem; font-weight: 800;
  text-transform: uppercase; letter-spacing: .1em; padding: 0 .3rem; margin-right: .3rem; }
.kg-count { color: var(--eh-gold); font-weight: 700; margin-left: .3rem; }

/* ------------------------------------------------ Bestiarium */
.guc-bs-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .6rem 1rem; margin: 1rem 0; }
.guc-bs-count { margin: 0; }
.guc-bs-count strong { color: var(--eh-gold); }
.guc-bs-filter { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; max-width: 100%; }
.guc-bs-filter select { max-width: 100%; padding: .35rem .5rem; background: var(--eh-card); color: inherit; border: 1px solid var(--eh-line); border-radius: 4px; }
.guc-bs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1rem; margin: 1rem 0 2rem; }
.guc-bs-card { position: relative; background: var(--eh-card); border: 1px solid var(--eh-line); border-top: 3px solid #0070dd; border-radius: 6px; padding: .9rem 1rem; }
.guc-bs-card .bs-icon { position: absolute; top: .6rem; right: .7rem; font-size: 2rem; line-height: 1; opacity: .9; }
.guc-bs-card h3 { margin: 0 2.4rem .15rem 0; font-size: 1.12rem; color: #5aa0f0; overflow-wrap: anywhere; }
.guc-bs-card .bs-fam { margin: 0 0 .5rem; font-size: .85rem; color: var(--wp--preset--color--accent-4, #CDBFA4); }
.guc-bs-card .bs-line { margin: .15rem 0; font-size: .85rem; }
.guc-bs-card .bs-line span { color: var(--eh-gold); font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; margin-right: .25rem; }
.guc-bs-card .bs-stats { display: flex; flex-wrap: wrap; gap: .3rem .9rem; margin: .5rem 0 0; font-size: .82rem; }
.guc-bs-card .bs-stats strong { color: var(--eh-gold); }
.guc-bs-card.is-unknown { border-top-color: #444; background: repeating-linear-gradient(135deg, #17130f 0 10px, #1b1712 10px 20px); }
.guc-bs-card.is-unknown h3 { color: #777; letter-spacing: .2em; }
.guc-bs-card.is-unknown .bs-icon { filter: brightness(0) drop-shadow(0 0 2px #fff4); opacity: .7; font-size: 2.4rem; }
.guc-bs-rewards { list-style: none; padding: 0; }
.guc-bs-rewards li { display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; padding: .55rem .2rem; border-bottom: 1px solid var(--eh-line); }
.guc-bs-rewards .bs-claims { grid-column: 1 / -1; font-size: .8rem; }

/* ------------------------------------------------ Gedenkstätte */
.guc-gd-kpis, .guc-gd-arten { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .8rem; margin: 1.2rem 0; }
.guc-gd-kpis div, .guc-gd-arten div { background: var(--eh-card); border: 1px solid var(--eh-line); border-radius: 6px; padding: .8rem; text-align: center; }
.guc-gd-kpis strong, .guc-gd-arten strong { display: block; font-family: var(--wp--preset--font-family--vollkorn, serif); font-size: 1.9rem; color: var(--eh-gold); }
.guc-gd-kpis span, .guc-gd-arten span { font-size: .85rem; }
.guc-gd-arten em { display: block; font-size: .78rem; opacity: .7; margin-top: .25rem; }
.guc-gd-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 0 2rem; }
.guc-gd-bars { list-style: none; padding: 0; margin: .5rem 0; }
.guc-gd-bars li { display: grid; grid-template-columns: minmax(0, 9rem) 1fr 3rem; align-items: center; gap: .6rem; padding: .22rem 0; font-size: .9rem; }
.guc-gd-bars .gd-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.guc-gd-bars .gd-bar { height: .7rem; background: #ffffff10; border-radius: 3px; overflow: hidden; }
.guc-gd-bars .gd-bar i { display: block; height: 100%; background: linear-gradient(90deg, #5a1a10, var(--eh-red) 60%, #c0392b); }
.guc-gd-bars .gd-num { text-align: right; color: var(--eh-gold); font-weight: 700; }
.guc-gd-champ, .gd-pech-card { background: var(--eh-card); border: 1px solid var(--eh-line); border-left: 4px solid var(--eh-red); border-radius: 6px; padding: .9rem 1rem; }
.guc-gd-champ h3 { margin: .1rem 0; font-size: 1.5rem; color: #e0574a; }
.guc-gd-champ p { margin: .2rem 0; }
.gd-kicker { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--eh-gold); }
.guc-gd-mini { margin: .6rem 0; padding-left: 1.6rem; font-size: .9rem; }
.gd-pech-card { display: flex; gap: 1rem; align-items: center; border-left-color: var(--eh-gold); }
.gd-pech-card h3 { margin: 0; font-size: 1.4rem; }
.gd-pech-card p { margin: .2rem 0; }
.gd-pech-icon { font-size: 2.6rem; transform: rotate(160deg); filter: grayscale(.4); }
.guc-gd-graves { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 1.2rem 1rem; margin: 1.2rem 0 2rem; }
.guc-gd-grave { background: linear-gradient(180deg, #5d5a55 0%, #46433f 70%, #3a3835 100%); color: #ece6da; border-radius: 48% 48% 6px 6px / 28% 28% 6px 6px;
  padding: 1.6rem .9rem .8rem; text-align: center; box-shadow: inset 0 -6px 0 #2b2926, 0 6px 0 #2f3a22, 0 8px 14px #0008; }
.guc-gd-grave .gd-rip { margin: 0; font-family: var(--wp--preset--font-family--vollkorn, serif); font-weight: 900; letter-spacing: .25em; color: #c9c2b4; }
.guc-gd-grave h3 { margin: .3rem 0 .1rem; font-size: 1.15rem; overflow-wrap: anywhere; }
.guc-gd-grave h3 a { text-shadow: 0 1px 2px #000; }
.guc-gd-grave .gd-meta, .guc-gd-grave .gd-when { margin: 0; font-size: .78rem; opacity: .8; }
.guc-gd-grave .gd-cause { margin: .4rem 0; font-size: .82rem; }
.guc-gd-grave .gd-insch { margin: .5rem 0; font-style: italic; font-size: .85rem; color: #f4eedf; }

/* ------------------------------------------------ Fraktionskrieg */
.guc-fk-banner { margin: 1.4rem 0; padding: 1.2rem 1rem 1rem; border: 1px solid var(--eh-line); border-radius: 8px;
  background: linear-gradient(90deg, #13233f 0%, #1c1813 50%, #3a1210 100%); text-align: center; }
.fk-week { margin: 0 0 .6rem; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; color: var(--eh-gold); }
.fk-sides { display: flex; justify-content: space-between; align-items: center; gap: .6rem; }
.fk-side { display: flex; flex-direction: column; min-width: 0; }
.fk-side span { font-family: var(--wp--preset--font-family--vollkorn, serif); font-size: 1.2rem; }
.fk-side strong { font-family: var(--wp--preset--font-family--vollkorn, serif); font-size: clamp(1.8rem, 7vw, 3.4rem); line-height: 1.05; }
.fk-side.fk-a strong { color: #7fb0ff; }
.fk-side.fk-h strong { color: #ff7a6b; }
.fk-vs { font-style: italic; opacity: .7; }
.fk-rope { position: relative; height: 18px; margin: 1rem .4rem .6rem; border-radius: 9px; background: var(--eh-horde); box-shadow: inset 0 2px 4px #0007; }
.fk-rope-a { position: absolute; inset: 0 auto 0 0; border-radius: 9px 0 0 9px; background: var(--eh-ally); transition: width .6s; }
.fk-knot { position: absolute; top: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px; border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #f6d98a, #a8781e); border: 2px solid #3b2a12; box-shadow: 0 2px 6px #000a; }
.fk-lead { margin: .4rem 0 0; font-weight: 700; }
.guc-fk-table th.fk-a, .guc-fk-table th.fk-h { white-space: nowrap; }
.guc-fk-table th.fk-a { color: #7fb0ff; }
.guc-fk-table th.fk-h { color: #ff7a6b; }
.guc-fk-table .fk-total td { font-weight: 700; border-top: 2px solid var(--eh-line); }
.guc-fk-weeks { list-style: none; padding: 0; }
.guc-fk-weeks li { padding: .4rem 0; border-bottom: 1px solid var(--eh-line); }
.fk-badge { display: inline-block; min-width: 5.5em; text-align: center; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
  border-radius: 3px; padding: .05rem .4rem; background: #555; color: #fff; }
.fk-badge.fk-a { background: var(--eh-ally); }
.fk-badge.fk-h { background: var(--eh-horde); }
.guc-fk-moral { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .8rem; margin: 1rem 0 2rem; }
.fk-city { display: flex; align-items: center; gap: .7rem; background: var(--eh-card); border: 1px solid var(--eh-line); border-left: 4px solid var(--fk-col); border-radius: 6px; padding: .6rem .7rem; }
.fk-crest { flex: none; width: 2.2rem; height: 2.5rem; display: grid; place-items: center; background: var(--fk-col); color: #fff;
  font-family: var(--wp--preset--font-family--vollkorn, serif); font-weight: 900; font-size: 1.2rem; border-radius: 3px 3px 50% 50% / 3px 3px 40% 40%;
  box-shadow: inset 0 0 0 2px #0004, 0 0 0 1px #E2B04A88; }
.fk-city-main { flex: 1; min-width: 0; }
.fk-city-name { margin: 0 0 .3rem; }
.fk-meter { height: .6rem; background: #ffffff12; border-radius: 3px; overflow: hidden; }
.fk-meter i { display: block; height: 100%; background: var(--fk-col); }
.fk-word { margin: .2rem 0 0; font-size: .78rem; }
.fk-moral-badge { flex: none; min-width: 2.4rem; text-align: center; font-weight: 800; color: #14110E; background: var(--eh-gold); border-radius: 999px; padding: .15rem .45rem; }
.fk-siege { font-size: .72rem; font-weight: 700; text-transform: uppercase; color: #fff; background: var(--eh-red); padding: 0 .35rem; border-radius: 3px; }

@media (max-width: 480px) {
  .guc-kg-board { padding: .7rem; grid-template-columns: 1fr; }
  .guc-gd-bars li { grid-template-columns: minmax(0, 1.5fr) 1fr 2.6rem; gap: .4rem; }
  .guc-gd-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
  .guc-gd-kpis div { padding: .6rem .3rem; }
  .guc-gd-kpis strong { font-size: 1.4rem; }
  .guc-gd-kpis span { font-size: .75rem; }
  .gd-pech-card { flex-direction: column; text-align: center; }
  .guc-gd-graves { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem .6rem; }
  .guc-gd-grave { padding: 1.2rem .5rem .6rem; }
  .guc-gd-grave h3 { font-size: 1rem; }
  .guc-gd-grave .gd-insch, .guc-gd-grave .gd-cause { font-size: .78rem; }
  .guc-bs-rewards li { grid-template-columns: 1fr; }
}
.guc-kg-poster .kg-map { display: inline-block; margin-top: .45rem; padding: .2rem .6rem; font-size: .82rem; font-weight: 700; color: #6a1a0f !important;
	border: 1px dashed #6b4c2a; border-radius: 3px; text-decoration: none; }
.guc-kg-poster .kg-map:hover, .guc-kg-poster .kg-map:focus-visible { background: rgba(106, 26, 15, .08); border-style: solid; }
