/* Capricornus Community forum */
.community-body { min-height: 100vh; }
.community-site { position: relative; z-index: 1; }
.community-main {
  width: min(960px, calc(100% - 2rem));
  margin: 0 auto;
  padding: calc(var(--header-h) + 2rem) 0 3rem;
}
.community-auth { gap: .55rem; }
.community-userchip {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--neon);
}
.community-header-cta {
  min-height: 2.2rem !important;
  padding: 0 .85rem !important;
  font-size: .72rem !important;
}
.community-hero {
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(0, 255, 209, 0.14);
}
.community-hero--compact { margin-bottom: 1.25rem; }
.community-hero h1 {
  margin: .35rem 0 .5rem;
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3rem);
  text-transform: uppercase;
  letter-spacing: .04em;
  text-shadow: 0 0 28px rgba(0, 255, 209, 0.25);
}
.community-hero p { margin: 0; color: var(--mute); max-width: 40rem; line-height: 1.5; }
.community-hero .hero-cta { margin-top: 1rem; justify-content: flex-start; }
.community-crumb {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mute);
}
.community-crumb a:hover { color: var(--neon); }

.community-board,
.community-thread-list {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}
.community-board + .community-board { margin-top: 2rem; }
.community-lane-head {
  margin-bottom: .35rem;
  padding-bottom: .65rem;
  border-bottom: 1px solid rgba(0, 255, 209, 0.14);
}
.community-lane-head h2 {
  margin: .2rem 0 0;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 3vw, 1.7rem);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.community-cat,
.community-thread-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .85rem 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(0, 255, 209, 0.16);
  background: rgba(11, 16, 26, 0.78);
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.community-cat:hover,
.community-thread-row:hover {
  border-color: rgba(0, 255, 209, 0.45);
  background: rgba(0, 255, 209, 0.05);
  transform: translateY(-1px);
}
.community-cat strong,
.community-thread-row strong {
  display: block;
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: .25rem;
}
.community-cat p { margin: 0; color: var(--mute); font-size: .92rem; }
.community-thread-row span { color: var(--mute); font-size: .85rem; }
.community-cat-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .25rem;
  font-family: var(--font-mono);
  font-size: .65rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--neon-dim);
  min-width: 8rem;
}
.community-empty {
  padding: 1.25rem;
  border: 1px dashed rgba(0, 255, 209, 0.25);
  color: var(--mute);
}

.community-posts { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 1.5rem; }
.community-post {
  border: 1px solid rgba(0, 255, 209, 0.14);
  background: rgba(11, 16, 26, 0.85);
  padding: 1rem 1.1rem;
}
.community-post header {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .65rem;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--neon-dim);
}
.community-post header strong { color: var(--neon); }
.community-post-body {
  white-space: pre-wrap;
  word-break: break-word;
  line-height: 1.55;
  color: var(--fog);
}

.community-reply,
.community-auth-card {
  border: 1px solid rgba(0, 255, 209, 0.2);
  background: rgba(11, 16, 26, 0.92);
  padding: 1.25rem 1.35rem;
  clip-path: polygon(14px 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%, 0 14px);
}
.community-reply h2,
.community-auth-card h1 {
  margin: .2rem 0 .6rem;
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.community-auth-card { width: min(460px, 100%); margin: 0 auto; }
.community-auth-card > p { color: var(--mute); margin: 0 0 1rem; }
.community-form { display: flex; flex-direction: column; gap: .4rem; }
.community-form label {
  margin-top: .45rem;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--neon-dim);
}
.community-form input,
.community-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(5, 7, 12, 0.8);
  color: var(--fog);
  padding: .7rem .8rem;
}
.community-form input:focus,
.community-form textarea:focus {
  outline: none;
  border-color: rgba(0, 255, 209, 0.45);
  box-shadow: 0 0 0 1px rgba(0, 255, 209, 0.2);
}
.community-form .form-actions {
  margin-top: .85rem;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  justify-content: flex-start;
}
.community-locked p { margin: 0 0 .85rem; color: var(--mute); }
.community-auth-switch {
  margin: 1rem 0 0;
  color: var(--mute);
  font-size: .92rem;
}
.community-auth-switch a { color: var(--neon); }

.community-flash-wrap { margin-bottom: 1rem; }
.community-flash {
  margin: 0 0 .5rem;
  padding: .7rem .85rem;
  border: 1px solid rgba(0, 255, 209, 0.25);
  font-size: .92rem;
}
.community-flash.ok { color: var(--neon); }
.community-flash.err {
  color: #ff8fa0;
  border-color: rgba(255, 77, 109, 0.4);
}

@media (max-width: 880px) {
  .community-auth .chip-btn + .chip-btn { display: none; }
  .nav-desktop { display: none; }
  .community-cat-meta { align-items: flex-start; }
}
