.forum-main {
  --forum-panel:#0c131a;
  --forum-line:#243640;
  --forum-green:#46d8b8;
}
.forum-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:8px;
  padding:10px 12px;
  border:1px solid var(--forum-line);
  border-radius:7px;
  background:linear-gradient(110deg,rgba(53,214,178,.07),transparent 48%),var(--forum-panel);
}
.forum-toolbar strong,.forum-toolbar span {
  display:block;
}
.forum-toolbar strong {
  color:#dce8e4;
  font-size:12px;
}
.forum-toolbar span {
  margin-top:1px;
  color:#80929b;
  font-size:10px;
}
.forum-action {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border:1px solid rgba(70,216,184,.55);
  border-radius:5px;
  color:var(--forum-green);
  font-size:10px;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.forum-action:hover {
  border-color:var(--forum-green);
  background:rgba(70,216,184,.11);
}
.forum-categories,.forum-recent {
  margin-top:8px;
  padding:10px;
  border:1px solid var(--forum-line);
  border-radius:8px;
  background:var(--forum-panel);
}
.forum-categories>header,.forum-recent>header {
  padding:0 1px 7px;
  border-bottom:1px solid #20343c;
}
.forum-categories h2,.forum-recent h2 {
  margin:2px 0 0;
  color:#e3efeb;
  font-size:18px;
}
.forum-categories>div {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
  margin-top:6px;
}
.forum-category-card {
  display:block;
  min-height:48px;
  padding:6px 8px;
  overflow:hidden;
  border:1px solid #263b43;
  border-radius:6px;
  background:#0a1016;
  color:inherit;
  text-decoration:none;
}
.forum-category-card:hover {
  border-color:#397566;
  background:#0d171b;
}
.forum-category-heading {
  display:flex;
  gap:8px;
  align-items:baseline;
  min-width:0;
}
.forum-category-card h2 {
  min-width:0;
  margin:0;
  overflow:hidden;
  color:#cce2db;
  font-size:14px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.forum-category-heading>span {
  display:flex;
  flex:0 0 auto;
  gap:4px;
  align-items:baseline;
  margin-left:auto;
  color:#70828b;
  font-size:9px;
  white-space:nowrap;
}
.forum-category-heading b {
  color:var(--forum-green);
}
.forum-category-heading time {
  margin-left:6px;
  color:#667982;
}
.forum-category-card p {
  margin:2px 0 0;
  color:#81939c;
  font-size:10px;
  line-height:1.25;
}
.forum-thread-list {
  display:grid;
  gap:4px;
  margin-top:6px;
}
.forum-thread-row {
  padding:5px 8px;
  border:1px solid #233640;
  border-radius:6px;
  background:#0a1016;
}
.forum-thread-row:hover {
  border-color:#355a55;
}
.forum-thread-content {
  min-width:0;
}
.forum-thread-tags {
  display:flex;
  gap:4px;
}
.forum-thread-tags:empty {
  display:none;
}
.forum-thread-tags span,.forum-op,.forum-state {
  padding:1px 4px;
  border:1px solid #3c695d;
  color:#68dac0;
  font-size:8px;
  font-weight:700;
  letter-spacing:.09em;
}
.forum-thread-tags span+span,.forum-state {
  border-color:#76643b;
  color:#ebc35f;
}
.forum-thread-heading {
  display:flex;
  gap:8px;
  align-items:baseline;
  min-width:0;
}
.forum-thread-row h3 {
  min-width:0;
  margin:0;
  overflow:hidden;
  font-size:13px;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.forum-thread-tags+.forum-thread-heading {
  margin-top:1px;
}
.forum-thread-row h3 a {
  color:#d7e6e1;
  text-decoration:none;
}
.forum-thread-row h3 a:hover {
  color:var(--forum-green);
}
.forum-thread-row p {
  margin:0;
  color:#71838c;
  font-size:9px;
  line-height:1.2;
}
.forum-author {
  color:#83dec8;
  font-weight:700;
}
.forum-thread-heading aside {
  display:flex;
  flex:0 0 auto;
  gap:4px;
  align-items:baseline;
  margin-left:auto;
  color:#778b94;
  font-size:9px;
  white-space:nowrap;
}
.forum-thread-heading aside strong {
  color:#e5c05a;
  font-size:13px;
}
.forum-thread-heading aside small {
  margin-left:6px;
  color:#667982;
  font-size:8px;
}
.forum-crumbs {
  display:flex;
  gap:7px;
  align-items:center;
  min-width:0;
  margin:10px 1px;
  overflow:hidden;
  color:#7e9298;
  font-size:10px;
  white-space:nowrap;
}
.forum-crumbs a {
  color:var(--forum-green);
  text-decoration:none;
}
.forum-crumbs b {
  overflow:hidden;
  color:#afc0c5;
  text-overflow:ellipsis;
}
.forum-thread-view,.forum-replies {
  display:grid;
  gap:7px;
}
.forum-post-wrap {
  display:flex;
  gap:7px;
  align-items:stretch;
}
.forum-post {
  flex:1;
  min-width:0;
  padding:10px;
  border:1px solid #263842;
  border-radius:7px;
  background:#0b1118;
}
.forum-post.deleted {
  opacity:.65;
}
.forum-post>header {
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding-bottom:7px;
  border-bottom:1px solid #20313a;
  color:#7c8d95;
  font-size:9px;
}
.forum-post>header>div {
  display:flex;
  gap:5px;
  align-items:center;
}
.forum-post time {
  white-space:nowrap;
}
.forum-post-body {
  padding:10px 1px 2px;
  color:#c7d3d7;
  font-size:12px;
  line-height:1.6;
}
.forum-post footer {
  display:flex;
  justify-content:flex-end;
  gap:6px;
  margin-top:8px;
}
.forum-post button {
  min-height:25px;
  padding:3px 7px;
  border:1px solid #334651;
  border-radius:4px;
  background:#101922;
  color:#a9bdc4;
  font:inherit;
  font-size:9px;
  cursor:pointer;
}
.forum-post button:hover {
  border-color:#5f766f;
  color:var(--forum-green);
}
.forum-post button[data-forum-delete-post],.forum-post button[data-forum-delete-thread] {
  color:#ec9288;
}
.forum-user-card {
  display:flex;
  flex:0 0 78px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:7px 5px;
  border:1px solid #263842;
  border-radius:7px;
  background:#0b1118;
  color:#9eb0b5;
  text-align:center;
}
.forum-user-card img,.forum-user-initial {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid #365148;
  border-radius:50%;
  background:#12221f;
  color:#71dfc5;
  font-size:12px;
  font-weight:700;
  object-fit:cover;
}
.forum-user-card b {
  max-width:100%;
  overflow:hidden;
  color:#c7d8d3;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.forum-user-card small {
  color:#728982;
  font-size:8px;
}
.forum-reply-form {
  display:grid;
  gap:5px;
  padding:10px;
  border:1px solid #2b534a;
  border-radius:7px;
  background:rgba(53,214,178,.045);
}
.forum-reply-form label,.forum-composer label {
  display:grid;
  gap:4px;
  color:#93a6ac;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.forum-reply-form textarea,.forum-composer input,.forum-composer textarea,.forum-composer select {
  width:100%;
  padding:8px;
  border:1px solid #30424d;
  border-radius:5px;
  background:#080d13;
  color:#dce8e8;
  font:inherit;
  font-size:12px;
  resize:vertical;
}
.forum-reply-form button,.forum-composer button[type="submit"] {
  justify-self:end;
  min-height:32px;
  padding:6px 10px;
  border:1px solid #42cdb0;
  border-radius:5px;
  background:#12352e;
  color:#6be6cc;
  font:inherit;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.forum-reply-form button:hover,.forum-composer button[type="submit"]:hover {
  background:#17483e;
}
.forum-signin,.forum-locked-note {
  margin:0;
  padding:11px;
  border:1px solid #3c493d;
  border-radius:6px;
  background:#15150c;
  color:#c8c7a4;
  font-size:11px;
}
.forum-signin a {
  color:#6de5c8;
}
.forum-empty {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  margin:0;
  padding:9px 11px;
  border:1px dashed #31434d;
  border-radius:5px;
  color:#82959d;
  font-size:10px;
  line-height:1.35;
  text-align:center;
}
.forum-empty strong {
  color:#c5d2d6;
}
.forum-empty a {
  color:var(--forum-green);
}
.forum-inline-composer {
  margin-top:10px;
  border:1px solid #2b534a;
  border-radius:7px;
  background:rgba(53,214,178,.045);
}
.forum-composer {
  display:grid;
  gap:9px;
  padding:11px;
}
.forum-composer>header {
  display:flex;
  align-items:center;
  padding-bottom:8px;
  border-bottom:1px solid #263b42;
  color:var(--forum-green);
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
}
.forum-composer [data-forum-inline-close] {
  display:grid;
  place-items:center;
  min-height:25px;
  margin-left:auto;
  padding:3px 7px;
  border:1px solid #315e52;
  border-radius:5px;
  background:#0b211c;
  color:#83b7a9;
  font:inherit;
  font-size:9px;
  line-height:1;
  cursor:pointer;
}
.forum-composer [data-forum-inline-close]:hover,.forum-composer [data-forum-inline-close]:focus-visible {
  border-color:#5dd7b8;
  color:#dffff6;
  outline:none;
}
.forum-composer>header [data-forum-inline-close] {
  width:25px;
  padding:0;
}
.forum-composer>header [data-forum-inline-close] svg {
  width:11px;
  height:11px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}
.forum-composer [data-forum-error] {
  min-height:0;
  margin:0;
  color:#f28b83;
  font-size:10px;
}
.forum-composer footer {
  display:flex;
  justify-content:flex-end;
  gap:6px;
}
.forum-composer footer [data-forum-inline-close] {
  margin-left:0;
}
.forum-inline-error {
  margin:8px 0 0;
  color:#f28b83;
  font-size:10px;
}
@media (max-width:680px) {
  .forum-toolbar {
    align-items:stretch;
    flex-direction:column;
  }
  .forum-action {
    justify-content:center;
  }
  .forum-categories,.forum-recent {
    padding:8px;
  }
  .forum-categories>div {
    grid-template-columns:1fr;
  }
  .forum-category-card {
    min-height:46px;
  }
  .forum-category-heading {
    gap:6px;
  }
  .forum-category-heading time {
    margin-left:5px;
  }
  .forum-thread-row {
    padding:5px 7px;
  }
  .forum-thread-heading {
    gap:6px;
  }
  .forum-thread-heading aside small {
    margin-left:5px;
  }
  .forum-post-wrap {
    align-items:flex-start;
    flex-direction:column;
  }
  .forum-post {
    width:100%;
    padding:8px;
  }
  .forum-user-card {
    flex:0 0 auto;
    flex-direction:row;
    width:100%;
    justify-content:flex-start;
    padding:6px 8px;
    text-align:left;
  }
  .forum-user-card img,.forum-user-initial {
    width:28px;
    height:28px;
    font-size:10px;
  }
  .forum-user-card b {
    max-width:none;
  }
  .forum-post>header {
    align-items:flex-start;
    flex-direction:column;
    gap:2px;
  }
  .forum-post-body {
    font-size:11px;
  }
}
