/* ------------------------------------ LEXICON Aufbau ------------------------------------ */
.lexicon-wrapper {
    display: flex;
    gap: 10px;
    width: 100%;
    box-sizing: border-box;
	margin-top: 10px;
}

.lexicon-menu {
    flex: 0 0 260px;
	background-color: var(--col6);
}

.lexicon-content {
	width:1030px;

}	

.lexicon-entry {
			width: 100%;
			box-sizing: border-box;
			background: var(--col6);
		}

.fg-lex-entry-headline {
			height: 50px;
			width: 100%;
			font-size: 30px;
			display: flex;
			justify-content: center;
			align-items: center;
			font-family: var(--title);
	letter-spacing: 0.1em;
			font-weight: bold;
			text-transform: uppercase;
            color: var(--highlight);
	background: var(--col2);
		}

.fg-lex-entry-subline {
			text-align: right;
			padding-right: 10px;
			padding-top: 5px;
		}
		
.fg-lex-entry {
			padding: 10px;
			text-align: justify;
			line-height: 180%;   
			font-size: 14px;
	width: 100%;
		}

.fg-lex-content-bit {
			height: 550px;
			padding: 0 10px;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			gap: 10px;
			overflow: auto;
		}
		
.fg-lex-content-letter {
			width: 270px;     
		}
		
.fg-lex-content-letter .content-item {
			margin-bottom: 5px;    
		}
		
.fg-lex-content-letter .content-item .content-item-cat {
			font-size:0.8em;
		}
		
		#lexicon .lexicon-entry .lexicon_search_results {
			margin-bottom: 10px;
		}

/* ------------------------------------ LEXICON NAVI ------------------------------------ */

#navigation {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1px;
    width: 100%;
    box-sizing: border-box;
}

#navigation .navigation-headline {
    min-height: 50px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 5px;
    box-sizing: border-box;
    background: var(--col2);
    font-family: var(--title);
    font-size: 23px;
    font-weight: bold;
    letter-spacing: 0.1em;
    white-space: nowrap;
	position: relative;
}

#navigation .navigation-headline {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

#navigation .navigation-title {
    text-align: center;
}

#navigation .navigation-options {
    position: absolute;
    right: 10px;
    display: flex;
}

#navigation .navigation-headline a {
    color: var(--col4);
    text-decoration: none;
}

#navigation .navigation-headline a:hover {
    color: var(--highlight);
}

#navigation .navigation-item {
    min-height: 25px;
    width: 100%;
    margin: 0 auto;
    padding: 5px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 15px;
}

#navigation .navigation-item:hover {
    background: var(--col5);
    color: var(--highlight);
}

#navigation .navigation-item:hover a {
    color: var(--highlight);
}

#navigation .navigation-entry {
	    width: 100%;
}

#navigation .navigation-link {
    text-decoration: none;
    color: var(--highlight);
    font-weight: bold;
    display: block;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#navigation .navigation-link:hover {
    text-decoration: none;
}

#navigation .navigation-item .option,
#navigation .navigation-item .modcontrol,
#navigation .navigation-item .postbit_buttons,
#navigation .navigation-item .float_right {
    flex: 0 0 auto;
}

#navigation .entries {
    display: none;
}

#navigation .subentries {
    display: none;
    width: 100%;
}

#navigation .navigation-subline {
    min-height: 25px;
    width: 100%;
    padding-left: 60px;
    font-size: 15px;
    align-items: center;
    box-sizing: border-box;
    font-weight: bold;
}

#navigation .navigation-subline:hover {
    background: var(--col5);
    color: var(--highlight);
}

#navigation .navigation-subline:hover a {
    color: var(--highlight);
}

#navigation .subentries .navigation-item {
    padding-left: 35px;
    font-size: 13px;
    font-weight: 600;
}

#navigation .navigation-search {
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
}

#navigation .navigation-search form {
    display: flex;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
}

#navigation .navigation-search input.textbox {
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
}

#navigation .navigation-search button {
    white-space: nowrap;
}

.toggle-button {
    font-size: 14px;
    color: var(--col4);
    margin-right: 5px;
}

.toggle-button:hover {
    color: var(--highlight);
}

.lexileft {
    float: left;
    width: 125px;
    height: 125px;
    margin: 8px 10px 0 0;
}

.lexiright {
    float: right;
    width: 125px;
    height: 125px;
    margin: 8px 0 0 10px;
}




.lexititle {
			font-family: var(--title);
			color: var(--highlight);
			font-size: 20px;
			display: flex;
			align-items: center;
			justify-content: flex-start;
			gap: 15px; 
			line-height: 1.2;
		}

.lexititle::after {
			content: "";
			flex-grow: 1;
			height: 1px;
			background-color: var(--highlight);
			margin-left: 10px; 
		}

/* ------------------------------------ LEXICON EINTRÄGE ------------------------------------ */
.ba-ency-entry{
  --cat: #7fb0c6;
  --cat-soft: rgba(127,176,198,0.18);
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.25);
  padding: 10px;
  width: 100%;
  margin: 0 auto;
}

/* Kategorien */
.ba-ency-entry.cat-lore { --cat:#76a0b8; --cat-soft:rgba(118,169,255,0.18); }
.ba-ency-entry.cat-bestiary { --cat:#f35d5d; --cat-soft:rgba(255,107,107,0.18); }
.ba-ency-entry.cat-wesen { --cat:#00a141; --cat-soft:rgba(126,230,168,0.18); }
.ba-ency-entry.cat-skills { --cat:#985cdf; --cat-soft:rgba(201,155,255,0.18); }
.ba-ency-list.cat-lore { --cat:#76a0b8; --cat-soft:rgba(118,169,255,0.18); }
.ba-ency-list.cat-bestiary { --cat:#f35d5d; --cat-soft:rgba(255,107,107,0.18); }
.ba-ency-list.cat-wesen { --cat:#00a141; --cat-soft:rgba(126,230,168,0.18); }
.ba-ency-list.cat-skills { --cat:#985cdf; --cat-soft:rgba(201,155,255,0.18); }

/* Tötbarkeit */
.ba-ency-poss { color: #4aff4a; font-weight: bold}
.ba-ency-risk  { color: orange; font-weight: bold} 
.ba-ency-impo  { color: #ff4545; font-weight: bold}

.rarity1 { color:#6bbf59; font-weight: bold } 
.rarity2 { color:#8cc4ff; font-weight: bold }   
.rarity3{ color:#d9b56b; font-weight: bold } 
.rarity4 { color:#c27be0; font-weight: bold }
.rarity5 { color:#ff8c42; font-weight: bold } 
.rarity6 { color:#ffd700; font-weight: bold }

.ba-ency-head{ margin-bottom: 10px; border-bottom: 1px solid var(--border); padding-bottom: 10px; }
.ba-ency-kicker{
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: 0.65;
}
.ba-ency-title{
  font-family: var(--title);
  font-size: 34px;
  letter-spacing: 2px;
  margin-top: 10px;
  color: var(--cat);
  text-shadow: 0 0 18px var(--cat-soft);
}

.ba-ency-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 10px;
  align-items:center;
}

.ba-ency-badge{
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 10px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  border-left: 3px solid var(--cat);
}

.ba-ency-threat{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
}
.ba-ency-threat .label{
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: 0.8;
}
.ba-ency-threat .bar{
  width: 110px;
  height: 8px;
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.35);
  position: relative;
  overflow: hidden;
}
.ba-ency-threat .bar i{
  display:block;
  height: 100%;
  background: var(--cat);
  box-shadow: 0 0 10px var(--cat-soft);
}

.ba-ency-top{
  display:flex;
  gap:10px;
  align-items: stretch;
}

.ba-ency-image{
  width: 350px;
  position: relative;
  flex: 0 0 340px;
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.35);
  overflow:hidden;
}
.ba-ency-image img{
  display:block;
  width: 100%;
  height: 100%;
}
.ba-ency-stamp{
  position:absolute;
  left: 12px;
  bottom: 12px;
  background: rgba(0,0,0,0.55);
  border: 1px solid var(--border);
  border-left: 3px solid var(--cat);
  padding: 10px 12px;
  max-width: calc(100% - 24px);
}
.ba-ency-stamp .stamp-title{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--cat);
}
.ba-ency-stamp .stamp-sub{
  font-size: 12px;
  opacity: 0.7;
  margin-top: 2px;
}

.ba-ency-panels{
  flex:1;
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.ba-ency-card{
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  padding: 10px;
  border-left: 3px solid var(--cat);
}

.ba-ency-disc{
  margin-top: 10px;
  border-top: 1px solid var(--border);
  padding-top: 10px;
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.25);
  opacity: 0.95;
  padding: 10px;
  border-left: 3px solid var(--cat);
}

.ba-ency-card.is-muted{
  background: rgba(0,0,0,0.25);
  opacity: 0.95;
}
.ba-ency-card .ba-ency-text{
  overflow:auto;
	max-height: 190px;
	padding-right: 6px;
}

.ba-ency-cardtitle{
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 10px;
  color: var(--cat);
}

.ba-ency-text{
  font-size: 14px;
  line-height: 1.7em;
}

.ba-ency-stats{
  display:grid;
  grid-template-columns: 120px 1fr;
  gap: 8px 12px;
}
.ba-ency-stats .k{
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: 0.75;
}
.ba-ency-stats .v{
  font-size: 14px;
}

.ba-ency-body{
  margin-top: 10px;
  border-top: 1px solid var(--border);
  padding-top: 10px;
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.ba-ency-section{
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.18);
  padding: 10px;
}

.ba-ency-h{
  font-family: var(--title);
  letter-spacing: 1px;
  font-size: 18px;
  color: var(--cat);
}

.ba-ency-list{
  --cat: #76a9ff;
  --cat-soft: rgba(118,169,255,0.18);
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.ba-ency-lite{
  display:flex;
  gap: 10px;
	align-items:center;
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.18);
  padding: 10px;
  border-left: 3px solid var(--cat);
}

.ba-ency-lite-img{
  width:110px;
  height:110px;
  flex:0 0 110px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid var(--border);
  background:rgba(0,0,0,0.35);
  overflow:hidden;
}

.ba-ency-lite-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:contrast(1.05) brightness(0.95);
}

.ba-ency-lite-content{ flex:1; }

.ba-ency-lite-head{
  display:flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  margin-bottom: 10px;
}

.ba-ency-lite-title{
  font-family: var(--title);
  font-size: 20px;
  letter-spacing: 1px;
  color: var(--cat);
  text-shadow: 0 0 14px var(--cat-soft);
  line-height: 1.1em;
}

.ba-ency-lite-badges{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  justify-content: flex-end;
}

.ba-ency-badge{
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 10px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  border-left: 3px solid var(--cat);
}

.ba-faction-body{
  display:grid;
  grid-template-columns: 360px 1fr;
  gap: 10px;
  margin-top: 10px;
}

.ba-faction-body.is-lore{
  grid-template-columns: 1fr 1fr;
}

.ba-faction-map{
  margin-top: 10px;
	margin-bottom: 10px;
}

.ba-ency-map{
	border: 1px solid var(--border);
	background: rgba(0,0,0,0.18);
	padding: 10px;
	max-height: 700px;
	overflow: auto;
}


.ba-faction-col{
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.ba-faction-blocktitle{
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--cat);
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  padding: 10px 12px;
  border-left: 3px solid var(--cat);
}

.ba-memberlist{
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.ba-ency-memtext{
  font-size: 14px;
  line-height: 1.7em;
	height: 100px;
	overflow: auto;
	padding-right: 6px;
}

.ba-membercard{
  display:flex;
  gap: 10px;
  align-items:center;
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.22);
  padding: 10px;
  border-left: 3px solid var(--cat);
}

.ba-membergif{
  width: 100px;
  height: 100px;
  flex: 0 0 100px;
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.35);
  overflow:hidden;
  border-radius: 10px;
}
.ba-membergif img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ba-memberinfo{ flex:1; }
.ba-membername{
  font-family: var(--title);
  font-size: 16px;
  letter-spacing: 1px;
  color: var(--cat);
  text-shadow: 0 0 12px var(--cat-soft);
  margin-bottom: 6px;
}
.ba-memberbadges{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin-bottom: 8px;
}
.ba-memberbadges .ba-ency-badge{
  font-size: 11px;
  padding: 4px 8px;
}

.ba-faction-lore .ba-ency-section{
	border: 1px solid var(--border);
	background: rgba(0,0,0,0.18);
	padding: 10px;
	max-height: 400px;
	overflow: auto;
}

.ba-halfbox{
  width: 50%;
  margin: 20px auto;
  padding: 16px;

  border: 1px solid var(--border);
  border-left: 3px solid var(--border);
  background: rgba(0,0,0,0.25);

  box-sizing: border-box;
}

.ba-halfbox-list{
  margin: 0;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.7em;
}

.ba-halfbox-list li{
  margin-bottom: 4px;
}

.ba-faction-lore .ba-ency-section{
	border: 1px solid var(--border);
	background: rgba(0,0,0,0.18);
	padding: 10px;
	max-height: 400px;
	overflow: auto;
}

.ba-threat-intro{
  margin-bottom: 18px;
}

.ba-threat-grid{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ba-threat-card{
  border: 1px solid var(--border);
  background: rgba(0,0,0,0.18);
  border-left: 4px solid var(--cat);
  overflow: hidden;
}

.ba-threat-top{
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 0;
  align-items: stretch;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
}

.ba-threat-level{
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--title);
  font-size: 28px;
  letter-spacing: 2px;
  color: var(--cat);
  border-right: 1px solid var(--border);
  min-height: 88px;
}

.ba-threat-head{
  padding: 14px 16px;
}

.ba-threat-name{
  font-family: var(--title);
  font-size: 22px;
  line-height: 1.1em;
  color: var(--cat);
  text-shadow: 0 0 14px var(--cat-soft);
  margin-bottom: 6px;
}

.ba-threat-sub{
  font-size: 13px;
  letter-spacing: 0.5px;
  opacity: 0.8;
  line-height: 1.5em;
}

.ba-threat-body{
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 10px;
  padding: 12px;
}

.ba-threat-block{
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  padding: 14px;
}

.ba-threat-block .ba-ency-text a{
  color: var(--cat);
  text-decoration: none;
}

.ba-threat-block .ba-ency-text a:hover{
  text-shadow: 0 0 8px var(--cat-soft);
}

/* Stufenfarben */
.ba-threat-card.threat-1{ --cat: #7ee6a8; --cat-soft: rgba(126,230,168,0.18); }
.ba-threat-card.threat-2{ --cat: #d8d26e; --cat-soft: rgba(216,210,110,0.18); }
.ba-threat-card.threat-3{ --cat: #e7a15d; --cat-soft: rgba(231,161,93,0.18); }
.ba-threat-card.threat-4{ --cat: #df6b6b; --cat-soft: rgba(223,107,107,0.18); }
.ba-threat-card.threat-5{ --cat: #c99bff; --cat-soft: rgba(201,155,255,0.18); }

.ba-ency-threat-1{ color: #7ee6a8; --cat-soft: rgba(126,230,168,0.18); font-weight: bold }
.ba-ency-threat-2{ color: #d8d26e; --cat-soft: rgba(216,210,110,0.18); font-weight: bold }
.ba-ency-threat-3{ color: #e7a15d; --cat-soft: rgba(231,161,93,0.18); font-weight: bold}
.ba-ency-threat-4{ color: #df6b6b; --cat-soft: rgba(223,107,107,0.18);font-weight: bold }
.ba-ency-threat-5{ color: #c99bff; --cat-soft: rgba(201,155,255,0.18);font-weight: bold }

.ba-threat-card.threat-1 .ba-threat-level,
.ba-threat-card.threat-2 .ba-threat-level,
.ba-threat-card.threat-3 .ba-threat-level,
.ba-threat-card.threat-4 .ba-threat-level,
.ba-threat-card.threat-5 .ba-threat-level,
.ba-threat-card.threat-1 .ba-threat-name,
.ba-threat-card.threat-2 .ba-threat-name,
.ba-threat-card.threat-3 .ba-threat-name,
.ba-threat-card.threat-4 .ba-threat-name,
.ba-threat-card.threat-5 .ba-threat-name{
  color: var(--cat);
}

.ba-species-boardnames{
  font-size: 13px;
  line-height: 1.6em;
  opacity: 0.8;
}

.ba-species-boardnames a{
  color: var(--cat) !important;
  text-decoration: none;
}

.ba-species-boardnames a:hover{
	color: var(--highlight) !important;
  text-shadow: 0 0 8px var(--cat) !important;
}

/* Mobile */
@media (max-width: 900px){
  .ba-threat-top{
    grid-template-columns: 70px 1fr;
  }

  .ba-threat-level{
    font-size: 22px;
    min-height: 70px;
  }

  .ba-threat-name{
    font-size: 18px;
  }

  .ba-threat-body{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px){
  .ba-faction-body{
    grid-template-columns: 1fr;
  }
  .ba-memberlist{
    max-height: none;
  }
}

@media (max-width: 900px){
  .ba-ency-lite{ flex-direction: column; }
  .ba-ency-lite-img{ width: 100%; height: 180px; flex: 0 0 auto; }
  .ba-ency-lite-head{ flex-direction: column; }
  .ba-ency-lite-badges{ justify-content: flex-start; }
}

@media (max-width: 900px){
  .ba-ency-top{ flex-direction: column; }
  .ba-ency-image{ width: 100%; flex: 0 0 auto; }
  .ba-ency-stats{ grid-template-columns: 110px 1fr; }
}

/* Chrome / Edge / Safari */
.ba-ency-entry *::-webkit-scrollbar{
  width:6px;
  height:6px;
}

/* Track unsichtbar */
.ba-ency-entry *::-webkit-scrollbar-track{
  background: rgba(0,0,0,0.05);
}

/* Scroll-Thumb */
.ba-ency-entry *::-webkit-scrollbar-thumb{
  background: var(--cat);
  border-radius: 20px;
  border: 2px solid transparent;
  background-clip: padding-box;
  opacity:0.6;
  transition: all .2s ease;
}

/* Hover Effekt */
.ba-ency-entry *::-webkit-scrollbar-thumb:hover{
  opacity:1;
  box-shadow: 0 0 8px var(--cat-soft);
}