.forum_status {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--tbl-main);
  color: var(--design);
}
.forum_on::before { content: "⨺"; color: var(--design); }
.forum_off::before { content: "⨺"; color: var(--tbl-main-tr2); }
.forum_offclose::before { content: "⨺"; color: var(--akzent-red-soft); }
.forum_offlink::before { content: "⨺"; color: var(--akzent-mid); padding: 3px; }

.subforumicon { height: 8px; width: 10px; display: inline-block; margin: 0 5px; background: var(--design); }
.subforum_minion { background: var(--akzent-dkl); }
.subforum_minioff { background: var(--tbl-main-tr2); }
.subforum_minioffclose { background: var(--akzent-red-soft); }
.subforum_miniofflink { background: var(--akzent-mid); }

.cat-block { margin: 24px 0; }
.cat-title {
  font-family: var(--akzenttext);
  font-size: var(--txtxl);
  color: var(--akzent-hell);
  margin: 0 0 6px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.cat-desc { margin-bottom: 12px; }

.forums-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  justify-content: center;
}

.forum-card {
  background: var(--tbl-main-tr);
  padding: 20px;
  display: flex;
  gap: 10px;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
}

.forum-main {
  display: flex;
  gap: 10px;
  align-items: stretch;
  width: 100%;
  flex-direction: column;
}

.forum-title { color: var(--akzent-hell); text-decoration: none; font-size: var(--txtl); }
.forum-title:hover { color: var(--design); }

.forum-desc {
  margin-top: 4px;
  border: 1px solid var(--hairline);
  padding: 10px;
  text-align: justify;
  text-align-last: left;
  line-height: 1.4em;
font-size: var(--txtm) !important;
}

.forum-subforums { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 1px; }
.forum-subforums a {
  display: inline-block;
  padding: .1em .6em;
  color: var(--akzent-hell);
  text-decoration: none;
  font-size: var(--txtxsmall);
}
.forum-subforums a:hover { color: var(--design); background: var(--tbl-main-tr); }

.forum-meta {
  display: flex;
  gap: 10px;
  align-items: center;
  padding-top: 8px;
  flex-direction: column;
  width: 15%;
}

.forum-meta-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.meta-item {
  font-size: var(--txtsmall);
  padding: 5px;
  width: 15%;
  align-content: center;
  text-transform: uppercase;
}

.meta-lastpost { background: var(--tbl-main-tr); padding: 5px; width: 100%; }

.forums-grid:not(:has(.forum-card:nth-child(3))) {
  grid-template-columns: 1fr;
  inline-size: min(50%, 900px);
  margin-inline: auto;
}

.forums-grid:has(.forum-card:nth-child(2)):not(:has(.forum-card:nth-child(3))) {
  grid-template-columns: repeat(2, 1fr);
  margin-inline: 0;
  inline-size: 100%;
}

.cat-4 .forums-grid { grid-template-columns: 1fr !important; }

.post.classic.forum-card {
  gap: 16px;
  align-items: stretch;
  border-inline-start: 4px solid var(--group-color);
  display: flex;
  flex-direction: column;
}

.post-block {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.post-header {
  background: rgba(var(--group-rgb), .05);
  border: 1px solid var(--hairline);
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  flex-direction: column;
  padding: 10px;
}

.post-username { margin: 0 0 4px; color: var(--akzent-hell); font-size: var(--txtxl); letter-spacing: 0.1em; }
.post-subtitle { margin-bottom: 8px; color: var(--akzent-hell); font-size: var(--txtsmall); text-transform: uppercase; letter-spacing: 0.1em; font-weight: italic; }
.post-char-blurb { margin: 8px 0; }
.post-username > a { text-shadow: none; }

.post-profilechips a, .post-profilechips span {
  display: inline-block;
  padding: .1em .6em;
  font-size: var(--txtxsmall);
  color: var(--akzent-hell);
  text-decoration: none;
  border: 1px solid var(--hairline);
}
.post-profilechips a:hover { color: var(--design); background: var(--tbl-main-tr); }

.post-controls { display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; }

.post_author.forum-main {
  width: calc(var(--ava-w)+10px);
  display: flex;
  gap: 12px;
  flex-direction: column;
  position: relative;
}

.post_content { width: 70%; display: flex; flex-direction: column; gap: 10px; }

.avatar-stack { width: var(--ava-w); }
.avatar-wrap { position: relative; width: var(--ava-w); }
.avatar-wrap img { display: block; width: 200px; height: 240px; object-fit: cover; }

.group-flag {
  position: absolute;
  top: 8px;
  left: -30px;
  width: 22px;
  height: 22px;
  background: var(--group-color, var(--design));
  display: grid;
  place-items: center;
  box-shadow: 0 0 0 2px var(--tbl-main-tr);
  font-size: 12px;
  line-height: 1;
  z-index: 10;
}
.group-flag::before { content: var(--group-symbol, "⨺"); color: var(--tbl-main); transform: translateY(-1px); }

.post.classic.ug-12 { --group-symbol: "✧"; }
.post.classic.ug-14 { --group-symbol: "⛥"; }
.post.classic.ug-15 { --group-symbol: "✶"; }
.post.classic.ug-16 { --group-symbol: "⨺"; }
.post.classic.ug-17 { --group-symbol: "△"; }
.post.classic.ug-18 { --group-symbol: "☾"; }
.post.classic.ug-8  { --group-symbol: "✎"; }
.post.classic.ug-19 { --group-symbol: "◎"; }

.char-tabs { width: var(--ava-w); background: var(--tbl-main-tr); border: 1px solid var(--hairline); }
.char-tabs .tab-bar { display: flex; flex-wrap: wrap; align-items: stretch; align-content: space-evenly; justify-content: center; }
.char-tabs .tab-btn {
  padding: .25em .6em;
  font-size: var(--txtxsmall);
  background: transparent;
  color: var(--akzent-hell);
  border: 1px solid var(--hairline);
  cursor: pointer;
  width: 45%;
  margin: 3px;
  align-self: center;
}
.char-tabs .tab-btn:hover { color: var(--design); background: var(--tbl-main-tr); }
.char-tabs .tab-btn.is-active { border-color: rgba(var(--group-rgb,255,255,255),.7); box-shadow: inset 0 0 0 1px rgba(var(--group-rgb,255,255,255),.35); }
.char-tabs .tab-panels { padding: 8px; height: 240px; }
.char-tabs .tab-panel { display: none; line-height: 1.5; text-align: justify; }
.char-tabs .tab-panel.is-active { display: block; }

.look-layer { position: absolute; inset: 0 auto 0 0; width: 100%; pointer-events: none; z-index: 5; }
.look-veil { position: absolute; inset: 0; opacity: 0; background: rgba(0,0,0,.0); transition: opacity .25s ease; }
.look-pop {
  position: absolute;
  left: -20px;
  top: 10px;
  width: 300px;
  height: 440px;
  background: rgba(var(--group-rgb, 255,255,255), .2);
  border: 1px solid rgba(var(--group-rgb, 255,255,255), .35);
  transform-origin: left center;
  transform: scale(.92) translateX(-8px);
  opacity: 0;
  pointer-events: none;
  transition: transform .25s ease, opacity .25s ease;
  overflow: hidden;
}
.look-head { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; background: var(--tbl-main-tr); }
.look-title { font-weight: 600; color: var(--akzent-hell); }
.look-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: var(--tbl-main-tr3);
  border: 1px solid var(--akzent-red);
  color: var(--akzent-red-soft);
  width: 28px;
  height: 28px;
  text-align: center;
  cursor: pointer;
  z-index: 5;
}
.look-close:hover { color: var(--design); background: var(--tbl-main-tr); }

.look-body {
  padding: 20px;
  overflow: auto;
  line-height: 1.5;
  max-width: 300px;
  background: var(--tbl-main-tr);
  text-align: justify;
  text-align-last: left;
  color: var(--akzent-hell);
  height: 100%;
}

.look-layer.is-open .look-veil { opacity: .25; }
.look-layer.is-open .look-pop { transform: scale(1) translateX(0); opacity: 1; pointer-events: auto; }

.post.classic.ug-12 { --group-color: var(--order);      --group-rgb: var(--order-rgb); }
.post.classic.ug-14 { --group-color: var(--deatheater); --group-rgb: var(--deatheater-rgb); }
.post.classic.ug-15 { --group-color: var(--neworder);   --group-rgb: var(--neworder-rgb); }
.post.classic.ug-16 { --group-color: var(--magic);      --group-rgb: var(--magic-rgb); }
.post.classic.ug-17 { --group-color: var(--muggle);     --group-rgb: var(--muggle-rgb); }
.post.classic.ug-18 { --group-color: var(--beings);     --group-rgb: var(--beings-rgb); }
.post.classic.ug-8  { --group-color: var(--magic);      --group-rgb: var(--magic-rgb); }
.post.classic.ug-19 { --group-color: var(--bewerber);   --group-rgb: var(--bewerber-rgb); }

.post_head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; border-bottom: 1px solid var(--hairline); padding-bottom: 6px; }
.post_date { opacity: .8; }
.post_body { line-height: 1.6; text-align: justify; }

.post_meta { background: var(--tbl-main-tr); padding: 8px; margin-top: 6px; display: flex; justify-content: space-between; align-items: center; font-size: var(--txtsmall); }
.post_meta .post-id { opacity: .7; }

.post_controls .postbit_buttons a {
  display: inline-block;
  padding: .2em .6em;
  color: var(--akzent-hell);
  text-decoration: none;
  font-size: var(--txtxsmall);
  background: transparent;
  border: 1px solid var(--hairline);
}
.post_controls .postbit_buttons a:hover { color: var(--design); background: var(--tbl-main-tr); }

.postbit_longdescr { display: flex; overflow: auto; height: 240px; padding: 2px; }

.postbit_weloveyou {
  background: var(--tbl-main-tr2);
  font-family: var(--akzenttext);
  font-size: var(--txtl);
  text-transform: uppercase;
  letter-spacing: 0.3em;
  line-height: var(--txtsmall);
  color: var(--akzent-hell);
  margin-bottom: -15px;
}
.postbit_weloveyou svg { height: var(--txtm); color: var(--design); }

.postbit_weloveyou_controls {
  font-family: var(--fliesstext);
  font-size: var(--txtsmall);
  text-transform: uppercase;
  line-height: var(--txtxxsmall);
  display: flex;
  flex-direction: row;
  align-content: center;
  align-items: center;
  justify-content: center;
}

.btn_postbit_pm { font-size: var(--txtsmall); }
.btn_postbit_find { font-size: var(--txtsmall); }
.btn_postbit_discord { font-size: var(--txtxsmall); color: var(--design); }
.btn_postbit_pm svg { height: var(--txtm); color: var(--design); }
.btn_postbit_find svg { height: var(--txtm); color: var(--akzent-hell); }
.btn_postbit_discord svg { height: var(--txtxxsmall); color: var(--design); }

.postbit_look-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 12px;
  padding: 10px;
  background: var(--tbl-main-tr);
  color: var(--txtcol);
  font-family: var(--fliesstext);
  font-size: var(--txtxsmall);
  margin-bottom: 10px;
}
.postbit_look-facts > div:nth-child(odd) {
  font-weight: 600;
  color: var(--akzent-hell);
  text-transform: uppercase;
  font-family: var(--akzenttext);
  letter-spacing: 0.3em;
}
.postbit_look-facts > div:nth-child(even) {
  font-weight: normal;
  color: var(--txtcol);
  text-align: left;
  text-transform: uppercase;
}
.postbit_look-facts span[class^="value_"] { font-weight: bold; color: var(--txtcol); }

.facts-box {
  background: var(--tbl-main-tr);
  border-left: 2px solid var(--design);
  padding: 3px;
  font-size: var(--txtxsmall);
  display: flex;
  flex-direction: column;
  gap: 3px;
  color: var(--txtcol);
  height: 240px;
  overflow: auto;
}
.facts-header {
  font-family: var(--akzenttext);
  font-size: var(--txtl);
  text-transform: uppercase;
  color: var(--group-color);
  letter-spacing: 0.1em;
}
.facts-age { font-size: var(--txtsmall); opacity: 0.8; }
.facts-row { display: flex; flex-direction: row; flex-wrap: wrap; gap: 5px; }
.facts-label {
  font-weight: 900;
  color: var(--akzent-hell);
  padding-left: 5px;
  text-transform: uppercase;
  margin-bottom: 2px;
  font-size: var(--txtxsmall);
  display: flex;
  align-items: center;
  gap: 2px;
}
.facts-value { font-size: var(--txtxsmall); color: var(--txtcol); text-transform: uppercase; }
.facts-sub { font-size: var(--txtxsmall); margin-left: 5px; }

.thread_titlewrap .thread_prefix { opacity: .9; }
.thread_icon img { display: block; }
.forum-card .thread_status { display: inline-block; width: 16px; height: 16px; }

.fd-row { display: grid; grid-template-columns: 1fr 90px 90px 240px; gap: 10px; align-items: center; }
.fd-row--head { background: var(--tbl-main-tr); padding: 10px; }
.fd-col--topic { min-width: 0; }
.fd-col--replies, .fd-col--views { text-align: center; }
.fd-col--lastpost { text-align: right; }

.thread-item .thread_head { display: flex; align-items: center; gap: 10px; }
.thread-item .thread_titleblock { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.thread-item .thread_titleline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.thread-item .thread_badges { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }

.thread_icon img { display: block; }
.thread_prefix { opacity: .9; }
.subject_new .forum-title { color: var(--design); }
.meta-item--counter { border: 1px solid var(--hairline); }
.thread-item { padding-block: 14px; }
.thread-item .forum-meta { gap: 8px; }

.notes-compact { position: relative; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.note { position: relative; }
.note-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: .2em .6em;
  font-size: var(--txtxsmall);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--akzent-hell);
  background: transparent;
  border: 1px solid var(--hairline);
  cursor: pointer;
  user-select: none;
}
.note > summary { list-style: none; }
.note > summary::-webkit-details-marker { display: none; }
.note-chip:hover { color: var(--design); background: var(--tbl-main-tr); }

.note-body {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 25;
  width: min(380px, 72vw);
  max-height: 220px;
  overflow: auto;
  background: var(--tbl-main-tr);
  border: 1px solid var(--hairline);
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  padding: 10px;
  font-size: var(--txtxsmall);
  color: var(--txtcol);
  line-height: 1.5;
  display: none;
  text-align: justify;
  text-align-last: left;
}
.note[open] .note-body { display: block; }
