/* Forum v2: canonical, consolidated stylesheet. */
/* Each selector has one declaration block per responsive context. */
/* The site template owns outer spacing. */

.rs-forum {
  --forum-panel: var(--rs-card-bg,#1c202a);
  --forum-panel-hover: var(--rs-card-bg-hover,#252a34);
  --forum-border: var(--rs-card-border,rgba(190,195,197,.16));
  --forum-text: var(--rs-text-primary,#f2f4f5);
  --forum-secondary: var(--rs-text-secondary,#bec3c5);
  --forum-muted: var(--rs-text-muted,#9299a0);
  /* Quote surfaces mirror the post surface depth in both themes. */
  --forum-quote-surface: #252b36;
  --forum-quote-nested-surface: #303847;
  color: var(--forum-text);
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 1.55;
}
.rs-forum *,.rs-forum *::before,.rs-forum *::after {
  box-sizing: border-box;
}
.rs-forum a {
  color: inherit;
  text-underline-offset: 3px;
}
.rs-forum a:focus-visible,.rs-forum button:focus-visible {
  outline: 3px solid var(--rs-border-focus,#7aa7d9);
  outline-offset: 3px;
}
.rs-forum__header {
  padding: 2px 0 12px;
  border: 0;
  background: transparent;
}
.rs-forum__header h1 {
  font-size: clamp(1.55rem,2.5vw,2rem);
  line-height: 1.2;
  letter-spacing: -.025em;
  margin: 0;
}
.rs-forum__tagline {
  font-size: .88rem;
  color: var(--forum-secondary);
  margin: 3px 0 0;
}
.rs-forum__header--compact {
  padding-bottom: 8px;
}
.rs-forum__header--compact h1 {
  font-size: 1.15rem;
}
.rs-forum__header--compact .rs-forum__tagline {
  display: none;
}
.rs-forum__quicknav {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  margin: 12px 0 16px;
}
.rs-forum__quicknav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--forum-border);
  border-radius: 999px;
  text-decoration: none;
  font-size: .875rem;
  font-weight: 600;
  white-space: nowrap;
}
.rs-forum__quicknav a:hover {
  background: var(--forum-panel);
}
.rs-forum__section {
  margin: 16px 0 20px;
}
.rs-forum__section h2 {
  font-size: 1.1rem;
  line-height: 1.35;
  margin: 0 0 10px;
}
.rs-forum__topics,.rs-forum__list {
  border-top: 1px solid var(--forum-border);
}
.rs-forum__topic {
  display: grid;
  grid-template-columns: 40px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--forum-border);
}
.rs-forum__topic>img,.rs-forum__avatar-placeholder {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}
.rs-forum__avatar-placeholder {
  display: grid;
  place-items: center;
  background: var(--forum-panel);
  color: var(--forum-secondary);
}
.rs-forum__topic-content {
  min-width: 0;
}
.rs-forum__topic h3 {
  font-size: 1rem;
  line-height: 1.4;
  margin: 0 0 3px;
  overflow-wrap: anywhere;
}
.rs-forum__topic h3 a {
  text-decoration: none;
}
.rs-forum__topic h3 a:hover {
  text-decoration: underline;
}
.rs-forum__topic-meta {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
  color: var(--forum-secondary);
  font-size: .8rem;
  line-height: 1.4;
}
.rs-forum__topic-end {
  display: flex;
  gap: 8px;
  align-items: center;
}
.rs-forum__topic-count {
  font-size: .8rem;
  color: var(--forum-secondary);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.rs-forum__latest-link {
  display: grid;
  place-items: center;
  min-height: 44px;
  min-width: 44px;
  border-radius: 8px;
  text-decoration: none;
}
.rs-forum__latest-link:hover {
  background: var(--forum-panel);
}
.rs-forum__item {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 8px;
  border-bottom: 1px solid var(--forum-border);
  border-radius: 7px;
}
.rs-forum__item-main {
  min-width: 0;
}
.rs-forum__item h3 {
  font-size: .97rem;
  margin: 0 0 2px;
  line-height: 1.35;
}
.rs-forum__item h3 a {
  text-decoration: none;
}
.rs-forum__item h3 a:hover {
  text-decoration: underline;
}
.rs-forum__item p {
  font-size: .81rem;
  line-height: 1.4;
  color: var(--forum-secondary);
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.rs-forum__item small {
  font-size: .75rem;
  color: var(--forum-secondary);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.rs-forum>h2 {
  font-size: 1.25rem;
  margin: 18px 0 10px;
}
.rs-forum__thread-heading {
  padding: 4px 0;
}
.rs-forum__thread-heading h2 {
  font-size: clamp(1.5rem,2.7vw,2.15rem);
  line-height: 1.2;
  letter-spacing: -.025em;
  margin: 3px 0 7px;
  overflow-wrap: anywhere;
}
.rs-forum__back {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  font-size: .85rem;
  text-decoration: none;
  color: var(--forum-secondary);
}
.rs-forum__thread-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 0 3px;
  border-bottom: 1px solid var(--forum-border);
  font-size: .83rem;
  color: var(--forum-secondary);
}
.rs-forum__thread-tools a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  text-decoration: none;
}
.rs-forum__pagination-top {
  margin: 3px 0;
}
.rs-forum .rs-pagination {
  justify-content: center;
  margin: 6px 0 12px;
}
.rs-forum__posts {
  display: grid;
  gap: 12px;
  margin: 5px 0 14px;
}
.rs-forum__post {
  min-width: 0;
  padding: 18px 20px 14px;
  background: var(--forum-panel);
  border: 1px solid var(--forum-border);
  border-radius: 12px;
  scroll-margin-top: 20px;
  padding-bottom: 10px;
  min-height: 0;
}
/* Keep an open moderation dropdown above following post cards.
   The menu's own z-index cannot escape its parent stacking context. */
.rs-forum__post { position: relative; z-index: 0; }
.rs-forum__post:has(.rs-forum__moderation[open]) { z-index: 10; }
.rs-forum__post header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--forum-border);
  background: transparent;
}
.rs-forum__author {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.rs-forum__author img {
  width: 42px;
  height: 42px;
  flex: none;
  border-radius: 50%;
  object-fit: cover;
}
.rs-forum__author strong {
  font-size: .95rem;
  overflow-wrap: anywhere;
}
.rs-forum__post-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--forum-secondary);
  font-size: .8rem;
  font-variant-numeric: tabular-nums;
}
.rs-forum__post time {
  color: var(--forum-secondary);
}
.rs-forum__permalink {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  text-decoration: none;
  color: var(--forum-secondary);
  font-size: .8rem;
}
.rs-forum__message {
  width: 100%;
  min-width: 0;
  max-width: none;
  color: var(--forum-text);
  font-size: 1rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.rs-forum__message p {
  margin: 0 0 1em;
}
.rs-forum__message p:last-child {
  margin-bottom: 0;
}
.rs-forum__message a {
  text-decoration: underline;
  overflow-wrap: anywhere;
  color: var(--rs-info,#6f9fd1);
}
.rs-forum__message blockquote {
  margin: 14px 0;
  padding: 12px 16px;
  background: var(--forum-quote-surface);
  border-inline-start: 3px solid var(--rs-border-focus,#7aa7d9);
  border-radius: 0 8px 8px 0;
  color: var(--forum-text);
}
.rs-forum__message blockquote blockquote {
  background: var(--forum-quote-nested-surface);
}
.rs-forum__edit-note {
  margin-top: 10px;
  font-size: .82em;
  line-height: 1.4;
  color: var(--forum-muted);
}
.rs-forum__post-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px solid var(--forum-border);
  min-height: 0;
  padding-bottom: 0;
}
.rs-forum__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  gap: 5px;
  padding: 5px 9px;
  border: 1px solid transparent;
  border-radius: var(--rs-radius-md,8px);
  background: transparent;
  color: var(--forum-secondary);
  font: inherit;
  font-size: .79rem;
  text-decoration: none;
  cursor: pointer;
  font-weight: 550;
  line-height: 1.3;
  white-space: nowrap;
}
.rs-forum__action:hover {
  border-color: var(--forum-border);
  background: var(--forum-panel-hover);
  color: var(--forum-text);
}
.rs-forum__post:target {
  border-color: var(--rs-border-focus,#7aa7d9);
}
.rs-forum__video {
  width: 100%;
  max-width: 760px;
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
  margin: 14px 0;
  border: 1px solid var(--forum-border);
  border-radius: 10px;
  background: var(--rs-surface-2,#181c21);
}
.rs-forum__video-play {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--rs-surface-2,#181c21);
  color: var(--forum-text);
  font: inherit;
  cursor: pointer;
}
.rs-forum__video-play:hover {
  background: var(--forum-panel-hover);
}
.rs-forum__video-play-icon {
  display: grid;
  place-items: center;
  width: 70px;
  height: 48px;
  border-radius: 12px;
  background: #c92d2d;
  color: #fff;
  font-size: 23px;
  padding-left: 3px;
}
.rs-forum__video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.rs-forum__activity {
  margin: 4px 0 20px;
  padding: 12px 16px;
  background: var(--forum-panel);
  border: 1px solid var(--forum-border);
  border-radius: 10px;
}
.rs-forum__activity-title h2 {
  margin: 0 0 7px;
  font-size: .91rem;
  line-height: 1.3;
}
.rs-forum__activity-list {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 0;
}
.rs-forum__activity-item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 2px;
  padding: 5px 12px;
  border-inline-start: 1px solid var(--forum-border);
  text-decoration: none;
}
.rs-forum__activity-item:first-child {
  border-inline-start: 0;
  padding-inline-start: 0;
}
.rs-forum__activity-item:hover .rs-forum__activity-name {
  text-decoration: underline;
}
.rs-forum__activity-name {
  font-size: .86rem;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rs-forum__activity-meta {
  font-size: .74rem;
  color: var(--forum-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rs-forum__areas {
  display: grid;
  gap: 6px;
}
.rs-forum__areas .rs-forum__section {
  margin: 0 0 15px;
}
.rs-forum__areas .rs-forum__section>h2 {
  margin: 0;
  padding: 8px 2px;
  font-size: 1.03rem;
  border-bottom: 1px solid var(--forum-border);
}
.rs-forum__areas .rs-forum__list {
  border: 0;
}
.rs-forum__category-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  background: var(--forum-panel);
  border: 1px solid var(--forum-border);
  border-radius: 9px;
  color: var(--forum-secondary);
}
.rs-forum__item:hover {
  background: var(--forum-panel);
}
.rs-forum__author-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.35;
}
.rs-forum__author-info small {
  font-size: .75rem;
  color: var(--forum-secondary);
  font-weight: 400;
}
.rs-forum__message pre {
  overflow-x: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  max-width: 100%;
}
.rs-forum__message blockquote cite {
  display: block;
  font-size: .82rem;
  font-style: normal;
  font-weight: 650;
  margin-bottom: 8px;
}
.rs-forum__message .rs-forum__video {
  display: block;
}
.rs-forum__inline-form {
  display: inline-flex;
  margin: 0;
}
.rs-forum__action:hover,.rs-forum__action:focus-visible {
  color: var(--forum-text);
  background: var(--forum-panel-hover);
  border-color: var(--forum-border);
}
.rs-forum__action--reply {
  color: var(--forum-text);
}
.rs-forum__action[aria-pressed="true"] {
  color: var(--rs-info,#85b7e8);
}
.rs-forum__action-count {
  font-size: .74rem;
  color: var(--forum-muted);
  font-variant-numeric: tabular-nums;
}
.rs-forum__likes {
  font-size: .78rem;
  color: var(--forum-secondary);
  padding-inline: 8px;
}
.rs-forum__moderation {
  position: relative;
  margin-inline-start: auto;
}
.rs-forum__moderation>summary {
  display: grid;
  place-items: center;
  min-width: 36px;
  min-height: 34px;
  padding: 0 7px;
  list-style: none;
  border: 1px solid transparent;
  border-radius: var(--rs-radius-md,8px);
  color: var(--forum-secondary);
  cursor: pointer;
  font-weight: 700;
  letter-spacing: 2px;
}
.rs-forum__moderation>summary::-webkit-details-marker {
  display: none;
}
.rs-forum__moderation>summary:hover,.rs-forum__moderation[open]>summary {
  background: var(--forum-panel-hover);
  border-color: var(--forum-border);
  color: var(--forum-text);
}
.rs-forum__moderation-menu {
  position: absolute;
  z-index: 5;
  inset-inline-end: 0;
  top: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  min-width: 150px;
  padding: 5px;
  background: var(--forum-panel-hover);
  border: 1px solid var(--forum-border);
  border-radius: var(--rs-radius-md,8px);
  box-shadow: 0 10px 24px rgba(0,0,0,.25);
}
.rs-forum__moderation-menu .rs-forum__action {
  display: flex;
  justify-content: flex-start;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
}
.rs-forum__moderation-menu .rs-forum__inline-form {
  display: block;
}
.rs-forum__action--danger {
  color: var(--rs-danger,#e3a0a0);
}
.rs-forum__action--primary {
  background: var(--rs-surface-2,var(--forum-panel-hover));
  border-color: var(--rs-border-focus,#7aa7d9);
  color: var(--forum-text);
}
.rs-forum__editor {
  display: grid;
  gap: 9px;
  margin: 9px 0 12px;
  padding: 12px;
  background: var(--forum-panel);
  border: 1px solid var(--forum-border);
  border-radius: 10px;
  min-width: 0;
}
.rs-forum__editor--hidden {
  display: none;
}
.rs-forum__editor h3 {
  margin: 0;
  font-size: 1.05rem;
}
.rs-forum__editor label {
  font-size: .85rem;
  font-weight: 600;
}
.rs-forum__editor textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 135px;
  padding: 12px;
  background: var(--rs-surface-1,var(--forum-panel));
  color: var(--forum-text);
  border: 1px solid var(--forum-border);
  border-radius: 8px;
  font: inherit;
  line-height: 1.5;
  resize: vertical;
}
.rs-forum__editor-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}
.rs-forum__message img.rs-forum__inline-image {
  display: block;
  max-width: 100%;
  max-height: 400px;
  width: auto;
  height: auto;
  object-fit: contain;
  margin: 8px 0;
  border-radius: 6px;
}
.rs-forum__message .rs-forum__spoiler {
  margin: 10px 0;
  border: 1px solid var(--forum-border);
  border-radius: 8px;
  overflow: hidden;
}
.rs-forum__spoiler summary {
  padding: 9px 12px;
  cursor: pointer;
  background: var(--forum-panel-hover);
  font-weight: 600;
}
.rs-forum__spoiler>div {
  padding: 12px;
}
.rs-forum__align-left {
  text-align: left;
}
.rs-forum__align-right {
  text-align: right;
}
.rs-forum__align-center {
  text-align: center;
}
.rs-forum__align-justify {
  text-align: justify;
}
.rs-forum__message .rs-forum__list-content {
  padding-inline-start: 1.6em;
  margin: 8px 0;
}
.rs-forum__like-summary {
  margin-top: 9px;
  color: var(--forum-secondary);
  font-size: .81rem;
  line-height: 1.55;
}
.rs-forum__like-summary a:hover {
  text-decoration: underline;
}
.rs-forum__like-label {
  font-weight: 600;
  color: var(--forum-secondary);
}
.rs-forum__like-icon {
  color: var(--rs-danger,#e7a4aa);
  font-size: .9rem;
  margin-inline-end: 4px;
}
.rs-forum__like-icon svg {
  vertical-align: middle;
  transform: translateY(-1px);
}
.rs-forum__like-more {
  display: inline-block;
  position: relative;
}
.rs-forum__like-more>summary {
  display: inline;
  cursor: pointer;
  color: var(--rs-info,#93bde7);
  text-decoration: underline;
  text-underline-offset: 2px;
  list-style: none;
}
.rs-forum__like-more>summary::-webkit-details-marker {
  display: none;
}
.rs-forum__like-people {
  display: block;
  width: 100%;
  padding: 7px 0 2px;
  line-height: 1.75;
}
.rs-forum__like-overflow {
  color: var(--forum-muted);
}
.rs-forum__post-actions .rs-forum__action {
  min-height: 34px;
  color: var(--forum-text);
  font-weight: 600;
}
.rs-forum__post-actions .rs-forum__action svg {
  flex: none;
  color: inherit;
}
.rs-forum__editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  align-items: center;
  padding: 5px;
}
.rs-forum__editor-tool {
  min-height: 34px;
  padding: 6px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--forum-secondary);
  font: inherit;
  font-size: .79rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 34px;
}
.rs-forum__editor-tool:disabled { opacity: .35; cursor: default; }
.rs-forum__editor-tool:hover,.rs-forum__editor-tool:focus-visible {
  border-color: var(--rs-border-focus,#7aa7d9);
  background: var(--forum-panel-hover);
  color: var(--forum-text);
  outline-offset: 1px;
}
.rs-forum__editor [hidden] {
  display: none;
}
.rs-forum__post+.rs-forum__editor {
  margin: 0 0 6px;
}
.rs-forum__editor-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--forum-border);
  border-radius: 9px;
  overflow: visible;
  background: var(--rs-surface-1,var(--forum-panel));
}
.rs-forum__editor-chrome {
  order: 0;
  position: relative;
  border-bottom: 1px solid var(--forum-border);
  background: var(--forum-panel);
  border-radius: 9px 9px 0 0;
}
.rs-forum__editor-tool svg {
  display: block;
  flex: none;
}
.rs-forum__editor-body textarea {
  order: 1;
  min-height: 170px;
  width: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  resize: vertical;
  outline-offset: -2px;
}
.rs-forum__editor-chrome[hidden] {
  display: none;
}
.rs-forum__native-editor .rs-forum__editor-source {
  display: none !important;
}
.rs-forum__native-editor .rs-forum__editor-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--forum-border);
  border-radius: 10px;
  background: var(--forum-panel);
}
.rs-forum__native-editor .rs-forum__editor-chrome {
  order: 0;
}
.rs-forum__native-editor .rs-forum__visual-input {
  order: 1;
  min-height: 135px;
  max-height: 55vh;
  overflow: auto;
  padding: 14px 15px;
  background: var(--rs-surface-1,#141820);
  color: var(--forum-text);
  font: inherit;
  line-height: 1.6;
  white-space: normal;
  overflow-wrap: anywhere;
  outline: none;
  border-radius: 0 0 10px 10px;
  cursor: text;
}
.rs-forum__native-editor .rs-forum__visual-input:focus-visible {
  box-shadow: inset 0 0 0 2px var(--rs-border-focus,#7aa7d9);
}
.rs-forum__native-editor .rs-forum__visual-input > p {
  display: block;
  margin: 0;
  min-height: 1.6em;
}
.rs-forum__native-editor .rs-forum__visual-input > p + p {
  margin-top: 1em;
}
.rs-forum__native-editor .rs-forum__visual-input blockquote {
  margin: 8px 0;
  padding: 8px 12px;
  border-left: 3px solid var(--rs-border-focus,#7aa7d9);
  background: var(--forum-panel-hover);
}
.rs-forum__native-editor .rs-forum__visual-input blockquote > p {
  margin: 0;
  min-height: 1.6em;
}
.rs-forum__native-editor .rs-forum__visual-input blockquote > p + p {
  margin-top: 1em;
}
.rs-forum__native-editor .rs-forum__visual-input blockquote.rs-forum__quote[data-author]::before {
  content: attr(data-author);
  display: block;
  font-weight: 650;
  font-size: .85rem;
  border-bottom: 1px solid var(--forum-border);
  margin-bottom: 8px;
  padding-bottom: 6px;
}
.rs-forum__native-editor .rs-forum__visual-input img {
  max-width: 100%;
  max-height: 360px;
  object-fit: contain;
}
.rs-forum__native-editor .rs-forum__visual-input a {
  color: var(--rs-link,#92bee8);
  text-decoration: underline;
}
.rs-forum__native-editor .rs-forum__visual-input pre {
  white-space: pre-wrap;
  padding: 10px;
  border: 1px solid var(--forum-border);
  border-radius: 6px;
}
.rs-forum__native-editor .rs-forum__editor-tool {
  min-width: 36px;
  min-height: 36px;
  color: var(--forum-secondary);
}
.rs-forum__native-editor .rs-forum__editor-tool:focus-visible {
  outline: 2px solid var(--rs-border-focus,#7aa7d9);
}
.rs-forum__native-editor .rs-forum__editor-tool[aria-pressed="true"] {
  background: var(--rs-surface-3,#30465b);
  color: var(--rs-text-primary,#f2f4f5);
  box-shadow: inset 0 0 0 1px var(--rs-border-focus,#7aa7d9);
}
.rs-forum__native-editor .rs-forum__editor-video {
  display: inline-block;
  padding: 5px 9px;
  border: 1px solid var(--forum-border);
  border-radius: 5px;
}
.rs-forum__native-editor .rs-forum__editor-spoiler {
  background: rgba(144,166,194,.19);
  border-bottom: 2px dotted var(--rs-border-focus,#7aa7d9);
}
.rs-forum__editor>.rs-forum__editor-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 2px;
  padding: 0;
}
.rs-forum__editor>.rs-forum__editor-body {
  min-width: 0;
}
.rs-forum__message .rs-forum__spoiler-inline {
  display: inline;
  vertical-align: baseline;
  max-width: 100%;
  border: 0;
  border-radius: 4px;
  background: var(--forum-panel-hover);
  color: var(--forum-text);
  font: inherit;
  line-height: inherit;
  padding: 1px 5px;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.rs-forum__spoiler-inline .rs-forum__spoiler-content {
  display: none;
}
.rs-forum__spoiler-inline[aria-pressed="true"] .rs-forum__spoiler-content {
  display: inline;
}
.rs-forum__spoiler-inline[aria-pressed="true"] .rs-forum__spoiler-mask {
  display: none;
}
.rs-forum__spoiler-inline:focus-visible {
  outline: 2px solid var(--rs-border-focus,#7aa7d9);
  outline-offset: 2px;
}
.rs-forum__reply-reference {
  margin: 12px 0 0;
  border: 1px solid var(--forum-border);
  border-radius: 8px;
  overflow: hidden;
}
.rs-forum__reply-reference>summary {
  cursor: pointer;
  padding: 9px 12px;
  font-size: .85rem;
  font-weight: 600;
  color: var(--forum-text);
  list-style: none;
}
.rs-forum__reply-reference>summary::-webkit-details-marker {
  display: none;
}
.rs-forum__reply-reference>summary span {
  margin-inline-start: 5px;
}
.rs-forum__reply-reference[open]>summary span {
  display: inline-block;
  transform: rotate(180deg);
}
.rs-forum__reply-reference-content {
  padding: 12px 14px;
  border-top: 1px solid var(--forum-border);
  background: var(--rs-surface-2,#181c21);
}
.rs-forum__reply-reference-author {
  display: block;
  font-size: .85rem;
  font-weight: 650;
  margin-bottom: 8px;
}
.rs-forum__reply-reference-content .rs-forum__message {
  font-size: .9rem;
  line-height: 1.55;
  max-height: 320px;
  overflow: auto;
}
.rs-forum__post-actions>.rs-forum__action:first-child,
.rs-forum__post-actions>.rs-forum__inline-form:first-child .rs-forum__action {
  padding-inline-start: 0;
}

@media (max-width:640px){
  .rs-forum__header h1 {
    font-size: 1.45rem;
  }
  .rs-forum__header--compact h1 {
    font-size: 1.05rem;
  }
  .rs-forum__topic {
    grid-template-columns: 34px minmax(0,1fr) auto;
    gap: 8px;
    padding: 10px 0;
  }
  .rs-forum__topic>img,.rs-forum__avatar-placeholder {
    width: 34px;
    height: 34px;
  }
  .rs-forum__topic h3 {
    font-size: .95rem;
  }
  .rs-forum__topic-meta {
    font-size: .75rem;
  }
  .rs-forum__topic-count span {
    display: none;
  }
  .rs-forum__topic-end {
    gap: 0;
  }
  .rs-forum__item {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 12px 8px;
    border-bottom: 1px solid var(--forum-border);
    border-radius: 7px;
  }
  .rs-forum__item small {
    font-size: .75rem;
  }
  .rs-forum__post {
    padding: 14px 12px 10px;
    border-radius: 10px;
    padding-bottom: 8px;
  }
  .rs-forum__post header {
    align-items: flex-start;
    gap: 6px;
  }
  .rs-forum__author img {
    width: 38px;
    height: 38px;
  }
  .rs-forum__post-meta {
    flex-direction: column;
    align-items: flex-end;
    gap: 0;
    font-size: .73rem;
  }
  .rs-forum__message {
    font-size: 1rem;
    line-height: 1.62;
  }
  .rs-forum__thread-heading h2 {
    font-size: 1.5rem;
  }
  .rs-forum__action {
    min-height: 40px;
    padding: 7px 9px;
  }
  .rs-forum__moderation>summary {
    min-height: 40px;
    min-width: 40px;
  }
  .rs-forum__moderation-menu .rs-forum__action {
    min-height: 44px;
  }
  .rs-forum__editor {
    padding: 10px;
  }
  .rs-forum__post-actions {
    margin-top: 6px;
    padding-top: 4px;
  }
  .rs-forum__like-summary {
    font-size: .8rem;
  }
  .rs-forum__editor-tool {
    min-height: 38px;
    min-width: 38px;
  }
  .rs-forum__editor-toolbar {
    gap: 1px;
    padding: 3px;
  }
  .rs-forum__editor-body textarea {
    min-height: 150px;
  }
  .rs-forum__native-editor .rs-forum__visual-input {
    min-height: 115px;
    padding: 12px;
  }
  .rs-forum__native-editor .rs-forum__editor-toolbar {
    flex-wrap: wrap;
  }
  .rs-forum__native-editor .rs-forum__editor-tool {
    min-width: 42px;
    min-height: 42px;
  }
}

@media (prefers-reduced-motion:no-preference){
  .rs-forum__topic {
    transition: background-color .15s ease;
  }
  .rs-forum__topic:hover {
    background: var(--forum-panel);
  }
}

@media (max-width:740px){
  .rs-forum__activity {
    padding: 10px 12px;
  }
  .rs-forum__activity-list {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .rs-forum__activity-item {
    border-inline-start: 0;
    border-top: 1px solid var(--forum-border);
    padding: 7px 0;
  }
  .rs-forum__activity-item:first-child {
    border-top: 0;
    padding-top: 2px;
  }
  .rs-forum__item {
    grid-template-columns: 30px minmax(0,1fr);
    gap: 9px;
    padding: 10px 3px;
  }
  .rs-forum__category-icon {
    width: 30px;
    height: 30px;
  }
  .rs-forum__item small {
    grid-column: 2;
    white-space: normal;
    margin-top: -7px;
  }
  .rs-forum__item p {
    -webkit-line-clamp: 2;
  }
}

/* Author removal and staff-visible soft-deleted posts. */
.rs-forum__owner-remove { position: relative; }
.rs-forum__owner-remove > summary { list-style: none; }
.rs-forum__owner-remove > summary::-webkit-details-marker { display: none; }
.rs-forum__remove-form {
  position: absolute;
  z-index: 4;
  left: 0;
  bottom: calc(100% + 8px);
  width: min(340px, 85vw);
  display: grid;
  gap: 9px;
  padding: 14px;
  border: 1px solid var(--forum-border);
  border-radius: var(--rs-radius-md, 8px);
  background: var(--forum-panel);
  box-shadow: 0 8px 28px rgb(0 0 0 / .2);
}
.rs-forum__remove-form label { font-weight: 600; }
.rs-forum__remove-form textarea {
  width: 100%;
  min-height: 76px;
  padding: 8px;
  border: 1px solid var(--forum-border);
  border-radius: var(--rs-radius-md, 8px);
  color: inherit;
  background: var(--rs-input-bg, #11151b);
  font: inherit;
  resize: vertical;
}
/* Staff-only removed posts: status is apparent on the entire card, not only in the notice. */
.rs-forum__post--removed {
  background: color-mix(in srgb, var(--forum-panel) 91%, #c84646 9%);
  border-color: #c66a6a;
  border-style: dashed;
}
.rs-forum__post--removed header {
  border-bottom-color: rgba(216, 111, 111, .32);
}
.rs-forum__post--removed .rs-forum__post-actions {
  border-top-color: rgba(216, 111, 111, .32);
}
.rs-forum__removed-notice {
  display: grid;
  gap: 5px;
  margin-top: 12px;
  padding: 11px 13px;
  border: 1px solid rgba(216, 111, 111, .45);
  border-left: 3px solid #df7777;
  border-radius: var(--rs-radius-md, 8px);
  background: rgba(190, 58, 58, .09);
  overflow-wrap: anywhere;
}
.rs-forum__removed-notice strong { color: #f0a1a1; }

/* Moderation menu: expand the reason form inside the menu instead of floating it over posts. */
.rs-forum__moderator-remove > summary {
  list-style: none;
  cursor: pointer;
}
.rs-forum__moderator-remove > summary::-webkit-details-marker { display: none; }
.rs-forum__moderator-remove .rs-forum__remove-form {
  position: static;
  width: min(320px, 76vw);
  box-shadow: none;
  margin: 4px 0;
}

/* Legacy Risingshadow emoticons, one shared display style for posts and editor. */
.rs-forum__emoticon,
.rs-forum__native-editor .rs-forum__visual-input img.rs-forum__emoticon {
  display: inline-block;
  width: 1em;
  height: 1em;
  max-width: 1em;
  max-height: 1em;
  vertical-align: -0.12em;
  object-fit: contain;
}
.rs-forum__emoticon-picker[hidden] { display:none; }
.rs-forum__emoticon-picker { display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;width:100%;max-width:none;box-sizing:border-box;padding:8px;border-top:1px solid var(--forum-border);background:var(--forum-panel); }
.rs-forum__emoticon-choice { display:flex;flex:0 0 42px;align-items:center;justify-content:center;min-height:42px;border:0;border-radius:6px;background:transparent;cursor:pointer; }
.rs-forum__emoticon-choice:hover,.rs-forum__emoticon-choice:focus-visible { background:var(--forum-panel-hover);outline-offset:-2px; }
.rs-forum__emoticon-choice img { max-width:30px;max-height:30px;width:auto;height:auto;object-fit:contain; }

/* Empty rich-text messages cannot be submitted. */
.rs-forum__editor-actions button[type="submit"]:disabled { opacity: .45; cursor: not-allowed; }

/* Library entity link picker, editor-local and responsive. */
.rs-forum__library-picker[hidden]{display:none}
.rs-forum__library-picker{padding:12px;border-top:1px solid var(--forum-border);background:var(--forum-panel)}
.rs-forum__library-picker label{display:block;font-size:.875rem;font-weight:600}
.rs-forum__library-query{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:10px;border:1px solid var(--forum-border);border-radius:6px;background:var(--forum-bg);color:inherit;font:inherit}
.rs-forum__library-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:6px;margin-top:10px}
.rs-forum__library-result{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid var(--forum-border);border-radius:6px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}
.rs-forum__library-result:hover,.rs-forum__library-result:focus-visible{background:var(--forum-hover,var(--forum-panel))}
.rs-forum__library-result-type{font-size:.75rem;opacity:.7;flex-shrink:0}

/* Contextual editing for an existing BBCode link. */
.rs-forum__link-dialog { padding: 14px; border-top: 1px solid var(--rs-border, #414752); display: grid; gap: 10px; }
.rs-forum__link-dialog label { display: grid; gap: 6px; font-size: .9rem; }
.rs-forum__link-dialog-input { width: 100%; min-width: 0; padding: 9px 11px; border: 1px solid var(--rs-border, #555); border-radius: 6px; background: var(--rs-surface, #181b22); color: inherit; }
.rs-forum__link-dialog-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.rs-forum__link-dialog-actions button { cursor: pointer; border: 1px solid var(--rs-border, #555); border-radius: 6px; background: transparent; color: inherit; padding: 7px 12px; }
.rs-forum__link-dialog-actions button:hover { background: rgba(128,128,128,.14); }
.rs-forum__link-dialog-error { color: #f18b8b; }
.rs-forum__link-dialog-error:empty { display: none; }

/* Forum 60.0.9: category controls and topic composer */
.rs-forum__category-description{padding:16px 18px;margin:14px 0 20px;background:var(--rs-surface-raised, #20252f);border:1px solid var(--rs-border, #394150);border-radius:12px;white-space:pre-line;line-height:1.6}
.rs-forum__category-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:18px 0 24px}
.rs-forum__category-actions form{margin:0}
.rs-forum__topic-subject{display:block;width:100%;box-sizing:border-box;padding:12px;margin:8px 0 18px;border-radius:8px;border:1px solid var(--rs-border, #394150);background:var(--rs-surface, #15181e);color:inherit;font:inherit}
#forum-new-topic{margin:18px 0 26px}

/* Forum 60.0.14: category thread states, scoped to forum topic rows. */
.rs-forum__topic--pinned {
  background: color-mix(in srgb, var(--forum-panel) 40%, transparent);
  border-inline-start: 3px solid var(--forum-secondary);
  padding-inline-start: 10px;
}
.rs-forum__topic--removed {
  background: color-mix(in srgb, #b7444a 14%, var(--forum-panel));
  border-inline-start: 3px solid #c75b62;
  padding-inline-start: 10px;
}
.rs-forum__topic-state {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 3px;
  color: var(--forum-secondary);
  font-size: .75rem;
  font-weight: 650;
}
.rs-forum__topic-state--removed { color: #f19b9e; }
.rs-forum__topic-state--pinned { margin-inline-end: 10px; }

/* Removed discussion status is visible on the discussion page as well. */
.rs-forum__thread-removed {display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;padding:15px 18px;margin:12px 0 20px;background:rgba(190,68,76,.16);border:1px solid rgba(231,114,120,.4);border-inline-start:4px solid #d86d77;border-radius:var(--rs-radius-md,8px);color:var(--forum-secondary)}
.rs-forum__thread-removed-title {display:inline-flex;align-items:center;gap:7px;color:#f19b9e;font-weight:700}
.rs-forum__thread-removed-title svg {width:17px;height:17px;flex:none}
.rs-forum__thread-removed .rs-forum__inline-form {margin-inline-start:auto}
.rs-forum__thread-permanent {max-width:300px}
.rs-forum__thread-permanent .rs-forum__remove-form {width:min(340px,90vw);white-space:normal}
.rs-forum__thread-permanent input {max-width:100%;width:100%}

/* Forum 60.0.19: keep the permanent-thread-delete confirmation within the right-anchored moderation menu. */
.rs-forum__moderation-menu:has(.rs-forum__thread-permanent[open]) {
  width: min(380px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
}
.rs-forum__moderation-menu .rs-forum__thread-permanent .rs-forum__remove-form {
  position: static;
  width: 100%;
  max-width: 100%;
  margin: 8px 0 4px;
  box-shadow: none;
  box-sizing: border-box;
  white-space: normal;
}
.rs-forum__moderation-menu .rs-forum__thread-permanent {
  max-width: none;
  min-width: 0;
}
.rs-forum__moderation-menu .rs-forum__thread-permanent input {
  min-width: 0;
  box-sizing: border-box;
}

/* Entire category row is a keyboard-accessible link. */
.rs-forum__item { color: inherit; text-decoration: none; }
.rs-forum__item:hover { text-decoration: none; }
.rs-forum__item:focus-visible { outline: 2px solid var(--forum-secondary); outline-offset: -2px; background: var(--forum-panel); }
.rs-forum__item:hover h3, .rs-forum__item:focus-visible h3 { text-decoration: underline; }

/* Forum 60.0.23: legacy-compatible unread messages on category overview. */
.rs-forum__category-heading { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; margin-bottom:2px; }
.rs-forum__category-heading h3 { margin:0; }
.rs-forum__unread-count { display:inline-flex; align-items:center; padding:2px 7px; border:1px solid var(--rs-color-success, #1aa260); border-radius:5px; color:var(--rs-color-success, #1aa260); font-size:.73rem; font-weight:650; line-height:1.35; white-space:nowrap; font-variant-numeric:tabular-nums; }
.rs-forum__item--unread .rs-forum__category-icon { color:var(--rs-color-success, #1aa260); border-color:var(--rs-color-success, #1aa260); }

/* Forum 60.0.24: category descriptions remain body-weight inside clickable rows. */
.rs-forum__item .rs-forum__item-main > p { font-weight: 400; }

/* Thread deletion confirmation, clear inline validation feedback. */
.rs-forum__thread-permanent .rs-forum__confirmation-error {
  display: block;
  margin: 7px 0 0;
  padding: 9px 11px;
  border: 1px solid rgba(231, 114, 120, .55);
  border-radius: var(--rs-radius-md, 8px);
  background: rgba(190, 68, 76, .16);
  color: #f4a0a5;
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.4;
}
.rs-forum__thread-permanent .rs-forum__confirmation-error:empty { display: none; }
.rs-forum__thread-permanent input[aria-invalid="true"] {
  border-color: #e77b82;
  outline-color: #e77b82;
}

/* Forum 60.0.25: thread unread state and full-row click target. */
.rs-forum__topic { position: relative; }
.rs-forum__topic h3 a::after { content: ""; position: absolute; inset: 0; }
.rs-forum__topic:focus-within { outline: 2px solid var(--forum-secondary); outline-offset: -2px; }
.rs-forum__topic--unread:not(.rs-forum__topic--removed) { background: color-mix(in srgb, var(--forum-panel) 23%, transparent); }
.rs-forum__topic--unread h3 { font-weight: 750; }
.rs-forum__thread-unread { display: inline-flex; position: relative; z-index: 1; align-items: center; padding: 2px 8px; margin: 2px 0 5px; border: 1px solid #139b69; border-radius: 6px; color: #22c58a; font-size: .75rem; font-weight: 700; line-height: 1.5; text-decoration: none; white-space: nowrap; }
.rs-forum__thread-unread:hover { background: color-mix(in srgb, #139b69 15%, transparent); }
.rs-forum__latest-link { position: relative; z-index: 1; }

/* Forum 60.0.27: compact thread title and unread indicator on one line. */
.rs-forum__topic-heading { display: flex; flex-wrap: wrap; align-items: center; column-gap: 9px; row-gap: 3px; margin-bottom: 3px; }
.rs-forum__topic-heading h3 { margin: 0; }
.rs-forum__topic-heading .rs-forum__thread-unread { margin: 0; }

/* Linked library discussion artwork, without stretching portrait book covers. */
.rs-forum__topic>img.rs-forum__target-image{width:40px;height:56px;object-fit:contain;border-radius:4px;align-self:center}
.rs-forum__target-context{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;color:var(--forum-secondary);font-size:.78rem;line-height:1.4;margin:0 0 3px}
.rs-forum__target-kind{font-weight:650;color:var(--forum-secondary)}

/* Forum 60.0.30: linked-library identity is informational, never a target link. */
.rs-forum__target-context { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin:2px 0 5px; line-height:1.4; }
.rs-forum__target-kind { display:inline-flex; align-items:center; gap:5px; padding:2px 7px; border:1px solid var(--forum-border); border-radius:6px; background:var(--forum-panel); color:var(--forum-secondary); font-size:.72rem; font-weight:650; white-space:nowrap; }
.rs-forum__target-kind svg { flex:none; }
/* Linked book/author/series/article badges use the existing one-step-deeper
   surface in light mode. Dark-mode presentation stays unchanged. */
.rs-forum[data-rs-theme="light"] .rs-forum__target-kind {
  background: var(--forum-panel-hover);
}

.rs-forum__target-name { color:var(--forum-secondary); font-size:.78rem; overflow-wrap:anywhere; }

/* Forum 60.0.31: compact linked-entity identity on topic pages. */
.rs-forum__linked-card{display:flex;align-items:center;gap:14px;min-height:104px;padding:14px 16px;margin:12px 0 16px;border:1px solid var(--forum-border);border-radius:10px;background:var(--forum-panel);min-width:0}
/* Linked entity preview follows the same light-theme surface depth as posts. */
.rs-forum[data-rs-theme="light"] .rs-forum__linked-card{background:var(--forum-panel-hover)}
.rs-forum__linked-card-image{width:70px;height:90px;flex:none;object-fit:contain;border-radius:5px}
.rs-forum__linked-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.rs-forum__linked-card-kind{font-size:.74rem;font-weight:650;letter-spacing:.025em;color:var(--forum-secondary)}
.rs-forum__linked-card-title{font-size:1rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere;text-decoration:none}
.rs-forum__linked-card a.rs-forum__linked-card-title:hover{text-decoration:underline}
.rs-forum__linked-card-title span{font-size:.8em;color:var(--forum-secondary)}

.rs-forum__linked-card-description{margin:3px 0 0;color:var(--forum-secondary);font-size:.9rem;line-height:1.5;max-width:88ch;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
@media(max-width:540px){.rs-forum__linked-card{gap:12px;padding:12px}.rs-forum__linked-card-image{width:58px;height:78px}.rs-forum__linked-card-description{-webkit-line-clamp:2}}

/* Forum 60.0.37: category sort */
.rs-forum__sortbar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 14px}
.rs-forum__sort{display:flex;align-items:center;gap:10px;margin:0}
.rs-forum__sort label{color:var(--rs-text-secondary, #aab4c4);font-size:.875rem}
.rs-forum__sort select{box-sizing:border-box;display:block;width:250px;max-width:100%;height:44px;min-height:44px;background:var(--rs-surface, #202630);color:var(--rs-text, #f3f5f8);border:1px solid var(--rs-border, #465063);border-radius:8px;padding:0 12px;font-family:inherit;font-size:16px;font-weight:400;line-height:normal;vertical-align:middle}
.rs-forum__sort select:focus-visible{outline:2px solid var(--rs-focus, #8db8e8);outline-offset:2px}

/* Forum 60.0.41: compact category introduction and actions. */
.rs-forum__category-panel {
  padding: 18px 22px;
  margin: 0 0 16px;
  background: var(--rs-surface-raised, #20252f);
  border: 1px solid var(--rs-border, #394150);
  border-radius: 14px;
}
.rs-forum__category-panel h2 {
  margin: 0 0 9px;
  font-size: clamp(1.4rem, 2vw, 1.65rem);
  line-height: 1.25;
}
.rs-forum__category-panel .rs-forum__category-description {
  padding: 0;
  margin: 0 0 14px;
  background: none;
  border: 0;
  border-radius: 0;
  white-space: pre-line;
  font-size: 0.925rem;
  line-height: 1.5;
  color: var(--forum-secondary);
}
/* Category controls: two compact actions, unobtrusive sorting at the right. */
.rs-forum__category-toolbar {
  display: grid;
  grid-template-columns: max-content max-content minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--rs-border, #394150);
}
.rs-forum__category-toolbar-end { display: contents; }
.rs-forum__category-toolbar form { margin: 0; }
.rs-forum__category-toolbar .rs-forum__mark-read { grid-column: 2; }
.rs-forum__category-toolbar .rs-forum__sort { grid-column: 3; justify-self: end; min-width: 0; }
.rs-forum[data-rs-theme] .rs-forum__category-toolbar .rs-forum__action {
  box-sizing: border-box;
  min-height: 36px;
  padding: 7px 12px;
  font-size: .85rem;
  line-height: 1.25;
  white-space: nowrap;
}
.rs-forum__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
#forum-category-topics { scroll-margin-top: 16px; }
@media (max-width: 600px) {
  .rs-forum__category-panel { padding: 15px 16px; }
  .rs-forum__category-panel h2 { margin-bottom: 8px; }
  .rs-forum__category-panel .rs-forum__category-description { margin-bottom: 12px; }
  /* One row when there is nothing to mark as read. */
  .rs-forum__category-toolbar { grid-template-columns: minmax(0,1fr) auto; gap: 6px 8px; padding-top: 9px; }
  .rs-forum__category-toolbar > .rs-forum__action { width: auto; justify-self: start; }
  .rs-forum[data-rs-theme] .rs-forum__category-toolbar .rs-forum__action { min-height: 34px; padding: 6px 10px; font-size: .78rem; }
  .rs-forum__category-toolbar .rs-forum__sort { grid-column: 2; grid-row: 1; justify-self: end; }
  /* When unread topics exist, keep both actions together and sorting below. */
  .rs-forum__category-toolbar:has(.rs-forum__mark-read) { grid-template-columns: auto minmax(0,1fr); }
  .rs-forum__category-toolbar:has(.rs-forum__mark-read) .rs-forum__mark-read { grid-column: 2; grid-row: 1; min-width: 0; justify-self: start; }
  .rs-forum__category-toolbar:has(.rs-forum__mark-read) .rs-forum__sort { grid-column: 1 / -1; grid-row: 2; }
  .rs-forum__category-toolbar .rs-forum__sort select { max-width: min(50vw, 210px); }
}

/* Forum 60.0.42: concise, readable latest-activity cards. */
.rs-forum__activity-item { gap: 5px; border-radius: 4px; }
.rs-forum__activity-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 8px; min-width: 0; }
.rs-forum__activity-name { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.35; }
.rs-forum__activity-category { color: var(--forum-secondary); font-size: .76rem; line-height: 1.4; }
.rs-forum__activity-meta { white-space: normal; overflow: visible; text-overflow: clip; line-height: 1.4; }
.rs-forum__activity-unread { display: inline-flex; flex: none; padding: 2px 7px; border-radius: 4px; background: #087f52; color: #fff; font-size: .7rem; font-weight: 700; line-height: 1.35; }
.rs-forum__activity-item--unread .rs-forum__activity-name { font-weight: 750; }
.rs-forum__activity-item:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Forum 60.0.43: compact one-line descriptions on the forum category index only.
   The category detail page keeps its complete description. */
.rs-forum__item .rs-forum__item-main { min-width: 0; }
.rs-forum__item .rs-forum__item-main > p {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* Forum 60.0.44: category overview shows latest activity instead of descriptions. */
.rs-forum__item { position:relative; }
.rs-forum__category-primary-link { color:inherit; text-decoration:none; }
.rs-forum__category-primary-link::after { content:""; position:absolute; inset:0; z-index:1; }
.rs-forum__category-primary-link:focus-visible { outline:2px solid var(--forum-secondary); outline-offset:3px; }
.rs-forum__category-latest { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--forum-secondary); font-size:.81rem; line-height:1.4; }
.rs-forum__category-latest-link { position:relative; z-index:2; color:inherit; text-decoration:none; }
.rs-forum__category-latest-link:hover,.rs-forum__category-latest-link:focus-visible { text-decoration:underline; }
.rs-forum__category-latest-meta { color:var(--forum-secondary); }

/* Forum 60.0.46: readable permission hints, separate from authorization. */
.rs-forum__access-badge {display:inline-flex;align-items:center;max-width:100%;padding:2px 7px;border:1px solid var(--rs-border,#394150);border-radius:5px;color:var(--forum-secondary);font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap}
.rs-forum__access-detail {margin:0 0 13px;color:var(--forum-secondary);font-size:.875rem;line-height:1.5}
.rs-forum__access-detail-title {font-weight:650;color:var(--forum-text,inherit)}

/* Forum 60.0.50: direct category-to-forum navigation. */
.rs-forum__category-back { margin: 0 0 14px; }
.rs-forum__category-back a { color: inherit; font-size: .9rem; font-weight: 600; text-decoration: none; }
.rs-forum__category-back a:hover { text-decoration: underline; }
.rs-forum__category-back a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 2px; }

/* Forum v2 60.1.0, staff test release */
.rs-forum__moderation-queue { margin:1rem 0 1.5rem; padding:1rem; border:1px solid var(--rs-border, #cbd5e1); border-radius:12px; background:var(--rs-surface, transparent); }
.rs-forum__moderation-queue h2 { margin:0 0 .7rem; font-size:1.1rem; }
.rs-forum__moderation-queue summary { cursor:pointer; font-weight:600; padding:.35rem 0; }
.rs-forum__moderation-item { padding:1rem 0; border-top:1px solid var(--rs-border, #cbd5e1); }
.rs-forum__moderation-item h3 { margin:0 0 .35rem; font-size:1rem; }
.rs-forum__moderation-item p { margin:.25rem 0 .6rem; opacity:.8; }
.rs-forum__moderation-content { margin:.65rem 0; padding:.8rem; border-radius:8px; background:var(--rs-surface-secondary, rgba(127,127,127,.08)); overflow-wrap:anywhere; }
.rs-forum__moderation-item form { display:flex; flex-wrap:wrap; gap:.5rem; }
.rs-forum__guest-notice { margin:.5rem 0; }
.rs-forum__guest-receipt { padding:.8rem; border-radius:8px; border:1px solid var(--rs-border, #cbd5e1); margin:.8rem 0; }
.rs-forum__guest-entry { margin:1rem 0; }
.rs-forum__guest-entry [hidden] { display:none; }

/* Forum 60.1.1: restore compact category permission icon sizing (60.0.59 regression). */
.rs-forum__access-detail{display:flex;align-items:center;flex-wrap:wrap;gap:5px 18px;margin:0 0 10px;color:var(--forum-secondary);font-size:.8125rem;line-height:1.4}
.rs-forum__access-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.rs-forum__access-item svg{display:block;width:15px;height:15px;flex:none}
.rs-forum__access-item strong{font-weight:650;color:var(--forum-text,inherit)}
.rs-forum__access-item--all strong{color:var(--forum-success,var(--forum-text,inherit))}

/* Forum 60.1.2: guest composer fields and submission readiness. */
.rs-forum__editor[data-forum-guest-compose] input[name="subject"],
.rs-forum__editor[data-forum-guest-compose] textarea[name="message"] {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--forum-border);
  border-radius: 8px;
  background: var(--rs-surface-1, var(--forum-panel));
  color: var(--forum-text);
  font: inherit;
  line-height: 1.5;
  outline-offset: 2px;
}
.rs-forum__editor[data-forum-guest-compose] input[name="subject"] { min-height: 42px; }
.rs-forum__editor[data-forum-guest-compose] :is(input[name="subject"], textarea[name="message"]):focus-visible {
  border-color: var(--rs-border-focus, #7aa7d9);
  outline: 2px solid var(--rs-border-focus, #7aa7d9);
}
.rs-forum__editor[data-forum-guest-compose] button[type="submit"]:disabled {
  opacity: .45;
  cursor: not-allowed;
}

/* Guest composer: replace the form with a friendly success state after submission. */
.rs-forum__guest-success {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--rs-success-border, #2b8a58);
  border-radius: 10px;
  background: var(--rs-success-bg, rgba(35, 148, 91, .12));
  color: var(--rs-success-text, #5ee0a0);
  line-height: 1.5;
}
.rs-forum__guest-success svg { width: 24px; height: 24px; flex: 0 0 24px; margin-top: .1rem; }
.rs-forum__guest-success strong { display: block; font-size: 1.05rem; }
.rs-forum__guest-success p { margin: .25rem 0 0; }
.rs-forum__guest-success:focus { outline: none; }
.rs-forum__guest-error { padding: .75rem; border: 1px solid var(--rs-danger, #c84b4b); border-radius: 8px; }

/* 60.1.4: staff review notice and in-context moderation. */
.rs-forum__moderation-queue { border-color:var(--rs-warning-border, #c88a27); background:var(--rs-warning-surface, rgba(218,145,32,.09)); }
.rs-forum__moderation-heading { display:flex; align-items:center; gap:.65rem; color:var(--rs-warning, #d58c24); }
.rs-forum__moderation-heading h2 { color:inherit; margin:0; font-size:1rem; }
.rs-forum__moderation-queue summary { margin-top:.6rem; }
.rs-forum__moderation-links { display:grid; gap:.35rem; padding-top:.65rem; }
.rs-forum__moderation-links a { display:flex; justify-content:space-between; gap:1rem; padding:.65rem .75rem; border-radius:.5rem; color:inherit; text-decoration:none; background:var(--rs-surface, rgba(128,128,128,.08)); }
.rs-forum__moderation-links a:hover { text-decoration:underline; }
.rs-forum__moderation-links a span { font-size:.85rem; opacity:.8; }
.rs-forum__topic-state--pending { color:var(--rs-warning, #d58c24); }
.rs-forum__pending-actions { margin-top:1rem; padding:.75rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.7rem; border:1px solid var(--rs-warning-border, #c88a27); border-radius:.6rem; background:var(--rs-warning-surface, rgba(218,145,32,.09)); }
.rs-forum__pending-actions strong { color:var(--rs-warning, #d58c24); }
.rs-forum__pending-actions form { display:flex; gap:.5rem; }
@media(max-width:650px) { .rs-forum__moderation-links a { flex-direction:column; gap:.2rem; } }

/* 60.1.6: restore previously shipped latest-post controls and ignored marker. */
/* Forum latest-post visibility switch: same geometry in light and dark themes. */
.rs-forum__thread-tools-right{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
@media(max-width:520px){.rs-forum__thread-tools{align-items:flex-start}.rs-forum__thread-tools-right{gap:8px 14px}.rs-forum__latest-switch-form{gap:6px}}
@media(prefers-reduced-motion:reduce){.rs-forum__latest-switch,.rs-forum__latest-switch-thumb{transition:none}}

/* Forum 60.0.58: informational ignore marker, category rows only. */
.rs-forum__topic-ignored { display:inline-flex; position:relative; z-index:1; align-items:center; justify-content:center; flex:none; color:var(--forum-secondary); line-height:1; }
.rs-forum__topic-ignored svg { display:block; }


/* Forum 60.2.0: shared honeypot, visually hidden but not display:none. */
.rs-forum__honeypot{position:absolute!important;inset-inline-start:0!important;top:0!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}

/* 60.2.0 RC2: guest composer uses the same geometry and actions as member composer. */
.rs-forum__editor .rs-forum__guest-notice {
  display: flex; align-items: flex-start; gap: .55rem;
  margin: 2px 0 6px; padding: .7rem .85rem;
  border: 1px solid var(--rs-warning-border, #c88a27);
  border-radius: 8px; background: var(--rs-warning-surface, rgba(218,145,32,.09));
  color: var(--forum-text); font-size: .875rem; line-height: 1.45;
}
.rs-forum__guest-notice svg { flex: none; margin-top: .05rem; color: var(--rs-warning, #d58c24); }

/* Forum v2 60.2.1: accessible state colors in both forum themes.
   Scope to the forum's own theme attribute, independent of the site theme. */
.rs-forum[data-rs-theme="light"] {
  --forum-state-success-bg: #edf8f1;
  --forum-state-success-border: #83bd9a;
  --forum-state-success-heading: #17643d;
  --forum-state-success-body: #294a38;
  --forum-state-danger: #a32c37;
  --forum-state-danger-bg: #fff1f1;
  --forum-state-danger-border: #d98b92;
  --forum-state-unread: #176b4c;
  --forum-state-warning: #85570c;
  --forum-state-warning-bg: #fff7e8;
  --forum-state-warning-border: #d8ac5c;
}
.rs-forum[data-rs-theme="dark"] {
  --forum-state-success-bg: #10251e;
  --forum-state-success-border: #287d57;
  --forum-state-success-heading: #9be6bb;
  --forum-state-success-body: #d2e9dc;
  --forum-state-danger: #f3a2a7;
  --forum-state-danger-bg: #29191e;
  --forum-state-danger-border: #a54f5b;
  --forum-state-unread: #64d9a0;
  --forum-state-warning: #f0c475;
  --forum-state-warning-bg: #2b2418;
  --forum-state-warning-border: #97743c;
}
/* The success icon and heading carry the state; body text remains readable. */
.rs-forum[data-rs-theme] .rs-forum__guest-success {
  background: var(--forum-state-success-bg);
  border-color: var(--forum-state-success-border);
  color: var(--forum-state-success-body);
}
.rs-forum[data-rs-theme] .rs-forum__guest-success svg,
.rs-forum[data-rs-theme] .rs-forum__guest-success strong {
  color: var(--forum-state-success-heading);
}
.rs-forum[data-rs-theme] .rs-forum__guest-success p {
  color: var(--forum-state-success-body);
}
/* Clear state contrast on badges, error feedback and removed-content notices. */
.rs-forum[data-rs-theme] .rs-forum__unread-count,
.rs-forum[data-rs-theme] .rs-forum__item--unread .rs-forum__category-icon,
.rs-forum[data-rs-theme] .rs-forum__thread-unread {
  color: var(--forum-state-unread);
  border-color: var(--forum-state-unread);
}
.rs-forum[data-rs-theme] .rs-forum__thread-unread:hover {
  background: color-mix(in srgb, var(--forum-state-unread) 12%, transparent);
}
.rs-forum[data-rs-theme] .rs-forum__topic-state--removed,
.rs-forum[data-rs-theme] .rs-forum__thread-removed-title,
.rs-forum[data-rs-theme] .rs-forum__removed-notice strong,
.rs-forum[data-rs-theme] .rs-forum__link-dialog-error {
  color: var(--forum-state-danger);
}
.rs-forum[data-rs-theme] .rs-forum__thread-removed,
.rs-forum[data-rs-theme] .rs-forum__thread-permanent .rs-forum__confirmation-error {
  background: var(--forum-state-danger-bg);
  border-color: var(--forum-state-danger-border);
}
.rs-forum[data-rs-theme] .rs-forum__thread-permanent .rs-forum__confirmation-error {
  color: var(--forum-state-danger);
}
.rs-forum[data-rs-theme] .rs-forum__moderation-queue,
.rs-forum[data-rs-theme] .rs-forum__pending-actions,
.rs-forum[data-rs-theme] .rs-forum__editor .rs-forum__guest-notice {
  background: var(--forum-state-warning-bg);
  border-color: var(--forum-state-warning-border);
}
.rs-forum[data-rs-theme] .rs-forum__moderation-heading,
.rs-forum[data-rs-theme] .rs-forum__topic-state--pending,
.rs-forum[data-rs-theme] .rs-forum__pending-actions strong,
.rs-forum[data-rs-theme] .rs-forum__guest-notice svg {
  color: var(--forum-state-warning);
}

/* Forum search, shared light/dark theme tokens and fluid layout. */
.rs-forum .rs-forum__search-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.55rem .8rem;border:1px solid currentColor;border-radius:.65rem;color:inherit;text-decoration:none;font-weight:600;opacity:.9}
.rs-forum .rs-forum__search-shortcut:hover,.rs-forum .rs-forum__search-shortcut:focus-visible{opacity:1;text-decoration:underline}
.rs-forum .rs-forum__search-page{min-width:0;padding:1rem 0 2rem}
.rs-forum .rs-forum__search-form{max-width:100%;margin:1rem 0 1.5rem}
.rs-forum .rs-forum__search-fields{display:flex;gap:.6rem;min-width:0;margin:.5rem 0 1rem}
.rs-forum .rs-forum__search-fields input{min-width:0;flex:1;width:100%;border:1px solid #9aa8b8;border-radius:.6rem;padding:.7rem .85rem;background:transparent;color:inherit;font:inherit}
.rs-forum .rs-forum__search-scopes{display:flex;gap:1rem;flex-wrap:wrap;border:0;padding:0;margin:0}
.rs-forum .rs-forum__search-scopes legend{margin-bottom:.5rem;font-weight:600}
.rs-forum .rs-forum__search-scopes label{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}
.rs-forum .rs-forum__search-count{margin:1rem 0}
.rs-forum .rs-forum__search-pagination{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0}
.rs-forum .rs-forum__search-pagination a{padding:.5rem .8rem;border:1px solid currentColor;border-radius:.5rem;color:inherit;text-decoration:none}
.rs-forum .rs-forum__search-pagination a[aria-current="page"]{font-weight:700;text-decoration:underline}
@media(max-width:520px){.rs-forum .rs-forum__search-shortcut span{display:none}.rs-forum .rs-forum__search-fields{flex-wrap:wrap}.rs-forum .rs-forum__search-fields button{flex:0 0 auto}}

/* RC7: always-visible, compact forum search, responsive and theme-inheriting. */
.rs-forum .rs-forum__theme-bar{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;min-width:0}
.rs-forum .rs-forum__quick-search{display:flex;align-items:stretch;min-width:0;width:clamp(180px,26vw,340px);max-width:calc(100% - 100px);border:1px solid var(--forum-border, #8999a9);border-radius:.75rem;overflow:hidden;color:inherit;background:transparent}
.rs-forum .rs-forum__quick-search:focus-within{outline:2px solid currentColor;outline-offset:2px}
.rs-forum .rs-forum__quick-search input{min-width:0;flex:1;width:100%;border:0;outline:0;padding:.65rem .7rem;background:transparent;color:inherit;font:inherit}
.rs-forum .rs-forum__quick-search input::placeholder{color:inherit;opacity:.65}
.rs-forum .rs-forum__quick-search button{display:flex;align-items:center;justify-content:center;flex:0 0 42px;border:0;border-left:1px solid var(--forum-border, var(--rs-border-default));background:transparent;color:inherit;cursor:pointer}
.rs-forum .rs-forum__quick-search button:hover{background:rgba(128,128,128,.13)}
.rs-forum .rs-forum__sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rs-forum .rs-forum__search-page{padding-top:.5rem}
@media(max-width:520px){.rs-forum .rs-forum__quick-search{width:100%;max-width:calc(100% - 96px)}.rs-forum .rs-forum__quick-search input{padding:.55rem .5rem;font-size:14px}.rs-forum .rs-forum__quick-search button{flex-basis:38px}}

/* RC8: Search results use the same centered Design System pagination as forum topics. */
.rs-forum .rs-forum__search-page .rs-pagination{justify-content:center;margin:1.5rem 0 0}

/* RC9: compact, accessible Latest posts disclosure outside forum home. */
.rs-forum__activity--collapsible { padding: 0; overflow: hidden; }
.rs-forum__activity-toggle {
  display: flex; align-items: center; gap: 10px;
  min-height: 44px; padding: 10px 15px;
  cursor: pointer; list-style: none; color: var(--forum-text);
}
.rs-forum__activity-toggle::-webkit-details-marker { display: none; }
.rs-forum__activity-toggle::marker { content: ''; }
.rs-forum__activity-toggle:hover { background: var(--forum-hover, transparent); }
.rs-forum__activity-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
.rs-forum__activity-toggle-title { font-weight: 700; font-size: .88rem; }
.rs-forum__activity-toggle-unread {
  display: inline-flex; align-items: center; border-radius: 5px;
  padding: 3px 8px; background: #087f52; color: #fff;
  font-size: .73rem; font-weight: 700; line-height: 1.3;
}
.rs-forum__activity-chevron { margin-inline-start: auto; flex: none; transition: transform .15s ease; }
.rs-forum__activity--collapsible[open] .rs-forum__activity-chevron { transform: rotate(180deg); }
.rs-forum__activity--collapsible > .rs-forum__activity-list {
  padding: 0 15px 12px; border-top: 1px solid var(--forum-border);
}
@media (max-width:740px) {
  .rs-forum__activity--collapsible { padding: 0; }
  .rs-forum__activity--collapsible > .rs-forum__activity-list { padding: 0 12px 10px; }
  .rs-forum__activity-toggle { padding: 10px 12px; flex-wrap: wrap; }
}

/* RC10: compact forum header. The secondary activity control must not occupy a card row. */
.rs-forum .rs-forum__theme-bar { margin: 0 0 4px; }
.rs-forum .rs-forum__quick-search { border-radius: 9px; }
.rs-forum .rs-forum__quick-search input { padding-block: .38rem; font-size: .88rem; }
.rs-forum .rs-forum__quick-search button { flex-basis: 38px; }
.rs-forum .rs-forum__activity--collapsible {
  width: fit-content; max-width: 100%; margin: 0 0 9px; padding: 0;
  border: 0; border-radius: 0; background: transparent; overflow: visible;
}
.rs-forum .rs-forum__activity-toggle {
  display: inline-flex; min-height: 28px; gap: 6px; padding: 2px 0;
  border-radius: 4px; color: var(--forum-secondary); line-height: 1.25;
}
.rs-forum .rs-forum__activity-toggle:hover { color: var(--forum-text); background: transparent; }
.rs-forum .rs-forum__activity-toggle-title { font-size: .78rem; font-weight: 600; }
.rs-forum .rs-forum__activity-toggle-unread { padding: 2px 6px; font-size: .68rem; }
.rs-forum .rs-forum__activity-chevron { width: 13px; height: 13px; margin-inline-start: 3px; }
.rs-forum .rs-forum__activity--collapsible > .rs-forum__activity-list {
  width: min(1100px, calc(100vw - 48px)); max-width: 100%;
  margin-top: 6px; padding: 10px 12px; border: 1px solid var(--forum-border);
  border-radius: 9px; background: var(--forum-panel);
}
.rs-forum .rs-forum__thread-heading { padding: 0; }
.rs-forum .rs-forum__thread-heading .rs-forum__back { min-height: 28px; font-size: .8rem; }
.rs-forum .rs-forum__thread-heading h2 { margin: 2px 0 5px; }
@media (max-width: 740px) {
  .rs-forum .rs-forum__theme-bar { margin-bottom: 3px; }
  .rs-forum .rs-forum__quick-search input { padding-block: .3rem; }
  .rs-forum .rs-forum__activity--collapsible { margin-bottom: 6px; }
  .rs-forum .rs-forum__activity--collapsible > .rs-forum__activity-list { width: calc(100vw - 32px); padding: 6px 10px; }
  .rs-forum .rs-forum__thread-heading h2 { font-size: clamp(1.35rem, 5vw, 1.7rem); line-height: 1.22; }
  .rs-forum .rs-forum__thread-tools { gap: 5px 10px; }
}

/* RC11: unified compact topic controls, retaining the existing server-side action and AJAX contract. */
.rs-forum .rs-forum__thread-heading { margin-top: 2px; }
.rs-forum .rs-forum__thread-heading h2 { font-size: clamp(1.45rem,2.5vw,2rem); line-height: 1.2; font-weight: 750; margin: 3px 0 6px; }
.rs-forum .rs-forum__thread-tools { min-height: 36px; padding: 0 0 6px; gap: 8px 14px; }
.rs-forum .rs-forum__thread-tools-right { gap: 8px 17px; }
.rs-forum .rs-forum__thread-tools a { min-height: 30px; font-weight: 600; }
.rs-forum .rs-forum__latest-check { opacity: 0; }
@media(max-width:740px) {
 .rs-forum .rs-forum__thread-heading h2 { font-size: clamp(1.3rem,5vw,1.65rem); }
 .rs-forum .rs-forum__thread-tools { align-items: flex-start; }
 .rs-forum .rs-forum__thread-tools-right { gap: 4px 10px; }
}


/* RC13: one compact 44px control row. Reset RC12 geometry without touching
   the shared theme component outside the forum. The track/thumb positions
   follow the original forum-theme.css switch geometry. */
.rs-forum .rs-forum__theme-bar .rs-forum__quick-search {
  box-sizing: border-box;
  height: 44px;
  min-height: 0;
  max-height: none;
  align-items: stretch;
}
.rs-forum .rs-forum__theme-bar .rs-forum__quick-search input {
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
  padding-block: 0;
  line-height: normal;
}
.rs-forum .rs-forum__theme-bar .rs-forum__quick-search button {
  box-sizing: border-box;
  height: 100%;
  min-height: 0;
}
.rs-forum .rs-forum__theme-bar .rs-forum__theme-toggle {
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 84px;
  height: 44px;
  min-height: 0;
  max-height: none;
  padding: 0;
  flex: 0 0 84px;
}
.rs-forum .rs-forum__theme-bar .rs-forum__theme-track {
  box-sizing: border-box;
  position: absolute;
  inset: 1px;
  display: block;
  width: auto;
  height: auto;
  min-height: 0;
  max-height: none;
}
.rs-forum .rs-forum__theme-bar .rs-forum__theme-sun,
.rs-forum .rs-forum__theme-bar .rs-forum__theme-moon {
  position: absolute;
  top: 10px;
  width: 20px;
  height: 20px;
}
.rs-forum .rs-forum__theme-bar .rs-forum__theme-sun { left: 10px; }
.rs-forum .rs-forum__theme-bar .rs-forum__theme-moon { right: 10px; }
.rs-forum .rs-forum__theme-bar .rs-forum__theme-thumb {
  box-sizing: content-box;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 34px;
  height: 34px;
  min-height: 0;
  max-height: none;
  padding: 0;
}
@media (max-width: 520px) {
  .rs-forum .rs-forum__theme-bar .rs-forum__quick-search input {
    padding-block: 0;
  }
}

/* RC14: secondary activity disclosure below the search/theme controls, aligned right.
   The disclosure remains a native details element, with a compact overlay when open. */
.rs-forum .rs-forum__activity-utility-row {
  display: flex; justify-content: flex-end; align-items: center;
  min-width: 0; margin: 0 0 8px; position: relative; z-index: 4;
}
.rs-forum .rs-forum__activity-utility-row .rs-forum__activity--collapsible {
  margin: 0; width: auto; max-width: 100%; position: relative;
}
.rs-forum .rs-forum__activity-utility-row .rs-forum__activity-toggle {
  justify-content: flex-end; min-height: 24px; padding: 0 2px;
}
.rs-forum .rs-forum__activity-utility-row .rs-forum__activity--collapsible > .rs-forum__activity-list {
  position: absolute; right: 0; top: 100%; z-index: 10;
  width: min(600px, calc(100vw - 32px)); max-width: none;
  box-shadow: 0 10px 26px rgba(0,0,0,.16);
}
@media(max-width:740px) {
  .rs-forum .rs-forum__activity-utility-row { margin-bottom: 6px; }
  .rs-forum .rs-forum__activity-utility-row .rs-forum__activity--collapsible > .rs-forum__activity-list {
    width: min(420px, calc(100vw - 32px));
  }
}

/* RC16: compact thread metadata row, consistent vertical alignment and no divider. */
.rs-forum .rs-forum__thread-heading h2 {
  margin-bottom: 3px;
}
.rs-forum .rs-forum__thread-tools {
  box-sizing: border-box;
  min-height: 0;
  padding: 0;
  margin: 0 0 9px;
  border-bottom: 0;
  align-items: center;
  gap: 4px 12px;
  line-height: 1.4;
}
.rs-forum .rs-forum__thread-tools > span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  line-height: inherit;
  white-space: nowrap;
}
.rs-forum .rs-forum__thread-tools-right {
  align-items: center;
  gap: 6px 12px;
}
.rs-forum .rs-forum__thread-tools-right > a,
@media (max-width: 740px) {
  .rs-forum .rs-forum__thread-tools { align-items: center; }
  .rs-forum .rs-forum__thread-tools-right { align-items: center; }
}

/* RC17: global latest-posts browsing and compact activity link */
.rs-forum .rs-forum__activity-all{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;padding:.65rem .9rem;font-size:.9rem;font-weight:600;color:var(--rs-color-link,var(--rs-text-primary,inherit));text-decoration:none}
.rs-forum .rs-forum__activity-all:hover{text-decoration:underline}
.rs-forum .rs-forum__browse-heading{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin:0 0 1rem}
.rs-forum .rs-forum__browse-heading h1{margin:0 0 .25rem}
.rs-forum .rs-forum__browse-heading p{margin:0;opacity:.75}
.rs-forum .rs-forum__browse-page .rs-pagination{justify-content:center;margin-block:1.2rem}
@media(max-width:600px){.rs-forum .rs-forum__browse-heading{align-items:start}.rs-forum .rs-forum__browse-heading h1{font-size:clamp(1.45rem,6vw,2rem)}}
.rs-forum .rs-forum__activity-list > .rs-forum__activity-all{grid-column:1/-1;border-top:1px solid var(--forum-border);margin-top:.45rem}

/* RC18: compact home activity panel; footer link already identifies the content. */
.rs-forum .rs-forum__activity--home { padding-bottom: 8px; margin-bottom: 14px; }
.rs-forum .rs-forum__activity--home .rs-forum__activity-all { padding: 8px 10px 4px; margin-top: 4px; }
@media (max-width: 740px) {
  .rs-forum .rs-forum__activity--home { padding-bottom: 6px; margin-bottom: 12px; }
  .rs-forum .rs-forum__activity--home .rs-forum__activity-all { padding: 8px 0 2px; }
}

/* RC19: light-theme surface hierarchy and home-page finishing.
   The forum background remains owned by the site; content surfaces are
   deliberately one shade deeper, rather than brighter white cards. */
.rs-forum[data-rs-theme="light"] {
  --forum-panel: #e9eef4;
  --forum-panel-hover: #dfe7ef;
  --forum-border: #cbd6e2;
}
.rs-forum[data-rs-theme="light"] .rs-forum__activity--home {
  background: var(--forum-panel);
  border-color: var(--forum-border);
}
.rs-forum[data-rs-theme="light"] .rs-forum__category-icon {
  background: #e2eaf2;
  border-color: var(--forum-border);
}
.rs-forum[data-rs-theme="light"] .rs-forum__access-badge {
  background: #e3ebf3;
  border-color: #c5d2df;
}
.rs-forum[data-rs-theme="light"] .rs-forum__item:hover,
.rs-forum[data-rs-theme="light"] .rs-forum__item:focus-within {
  background: var(--forum-panel);
}
.rs-forum[data-rs-theme="light"] .rs-forum__item:focus-within {
  outline: 2px solid var(--rs-border-focus, #477eae);
  outline-offset: -2px;
}
/* Keep dark-theme geometry and colors unchanged; compact both themes. */
.rs-forum .rs-forum__activity--home {
  padding-top: 10px;
  padding-bottom: 5px;
  margin-bottom: 12px;
}
.rs-forum .rs-forum__activity--home .rs-forum__activity-all {
  padding-top: 6px;
  padding-bottom: 3px;
}
.rs-forum .rs-forum__areas .rs-forum__item {
  padding-block: 9px;
}
@media (max-width: 740px) {
  .rs-forum .rs-forum__areas .rs-forum__item { padding-block: 10px; }
}


/* RC20: stronger light-theme depth for the three latest posts.
   A distinct blue-grey surface, not a white card on an off-white page.
   Keep the dark palette and all forum behaviour untouched. */
.rs-forum[data-rs-theme="light"] .rs-forum__activity.rs-forum__activity--home {
  background-color: #e2eaf3;
  border-color: #c8d5e3;
}
.rs-forum[data-rs-theme="light"] .rs-forum__activity--home .rs-forum__activity-item {
  border-inline-start-color: #c2cfde;
}
.rs-forum[data-rs-theme="light"] .rs-forum__activity--home .rs-forum__activity-all {
  border-top-color: #c2cfde;
}
.rs-forum[data-rs-theme="light"] .rs-forum__activity--home .rs-forum__activity-item:focus-visible,
.rs-forum[data-rs-theme="dark"] .rs-forum__activity--home .rs-forum__activity-item:focus-visible,
.rs-forum[data-rs-theme="light"] .rs-forum__activity--home .rs-forum__activity-all:focus-visible,
.rs-forum[data-rs-theme="dark"] .rs-forum__activity--home .rs-forum__activity-all:focus-visible {
  outline: 2px solid var(--rs-border-focus, #477eae);
  outline-offset: -2px;
  border-radius: 5px;
}
@media (max-width: 740px) {
  .rs-forum .rs-forum__activity--home {
    padding-inline: 12px;
  }
}


/* RC21: category-row interaction states, explicitly theme scoped.
   Prevent template hover rules from turning light rows pure white. */
.rs-forum[data-rs-theme="light"] .rs-forum__areas .rs-forum__item:is(:hover, :focus-visible, :focus-within) {
  background-color: #e3ebf4 !important;
  color: var(--forum-text);
}
.rs-forum[data-rs-theme="dark"] .rs-forum__areas .rs-forum__item:is(:hover, :focus-visible, :focus-within) {
  background-color: #1d2430;
  color: var(--forum-text);
}
.rs-forum .rs-forum__areas .rs-forum__item {
  transition: background-color 140ms ease;
}
.rs-forum[data-rs-theme="light"] .rs-forum__areas .rs-forum__item:is(:hover, :focus-visible, :focus-within) .rs-forum__category-icon {
  background-color: #d7e3ef;
}
@media (prefers-reduced-motion: reduce) {
  .rs-forum .rs-forum__areas .rs-forum__item { transition: none; }
}

/* RC22: role identity and new-message readability in both forum themes.
   Presentation only. Staff group lookup and unread calculations stay unchanged.
   Scope to the forum, avoiding global username palette changes. */
.rs-forum[data-rs-theme="light"] {
  --forum-role-admin: #b92e3d;
  --forum-role-moderator: #205caa;
  --forum-role-librarian: #087348;
  --forum-unread-bg: #e0f2e8;
  --forum-unread-border: #4b9c74;
  --forum-unread-text: #115b3c;
}
.rs-forum[data-rs-theme="dark"] {
  --forum-role-admin: #ff737d;
  --forum-role-moderator: #83b9ff;
  --forum-role-librarian: #63d9a0;
  --forum-unread-bg: #133429;
  --forum-unread-border: #50c58e;
  --forum-unread-text: #9cebc3;
}
.rs-forum[data-rs-theme] .rs-username--administrator,
.rs-forum[data-rs-theme] .rs-username-badge--administrator { color: var(--forum-role-admin); }
.rs-forum[data-rs-theme] .rs-username--moderator,
.rs-forum[data-rs-theme] .rs-username-badge--moderator { color: var(--forum-role-moderator); }
.rs-forum[data-rs-theme] .rs-username--librarian,
.rs-forum[data-rs-theme] .rs-username-badge--librarian { color: var(--forum-role-librarian); }
/* Keep role colors on links in normal, hover and keyboard-focus states. */
.rs-forum[data-rs-theme] a.rs-username--administrator:is(:hover,:focus-visible) { color: var(--forum-role-admin); }
.rs-forum[data-rs-theme] a.rs-username--moderator:is(:hover,:focus-visible) { color: var(--forum-role-moderator); }
.rs-forum[data-rs-theme] a.rs-username--librarian:is(:hover,:focus-visible) { color: var(--forum-role-librarian); }
/* Shared unread badge palette across category rows, topic rows and activity cards.
   Keep every surface on the same semantic tokens, including badges inside links. */
.rs-forum[data-rs-theme] :is(.rs-forum__unread-count, .rs-forum__thread-unread, .rs-forum__activity-unread, .rs-forum__activity-toggle-unread),
.rs-forum[data-rs-theme] a.rs-forum__activity-item .rs-forum__activity-unread {
  color: var(--forum-unread-text);
  border: 1px solid var(--forum-unread-border);
  background-color: var(--forum-unread-bg);
}
.rs-forum[data-rs-theme] .rs-forum__item--unread .rs-forum__category-icon {
  color: var(--forum-unread-text);
  border-color: var(--forum-unread-border);
  background-color: var(--forum-unread-bg);
}
.rs-forum[data-rs-theme] .rs-forum__activity-item--unread .rs-forum__activity-name {
  font-weight: 750;
}
.rs-forum[data-rs-theme="light"] .rs-forum__activity--home .rs-forum__activity-item:is(:hover,:focus-visible) {
  background-color: #d6e2ee;
}
.rs-forum[data-rs-theme="dark"] .rs-forum__activity--home .rs-forum__activity-item:is(:hover,:focus-visible) {
  background-color: #283140;
}
.rs-forum[data-rs-theme] .rs-forum__activity-item:focus-visible,
.rs-forum[data-rs-theme] .rs-forum__activity-all:focus-visible {
  outline: 2px solid var(--rs-border-focus, #477eae);
  outline-offset: 2px;
}

/* RC23: only the category title link receives an underline on row hover.
   Underlining both h3 and its child anchor produces a double underline. */
.rs-forum .rs-forum__areas .rs-forum__item:is(:hover, :focus-visible, :focus-within) h3 {
  text-decoration: none;
}
.rs-forum .rs-forum__areas .rs-forum__item:is(:hover, :focus-visible, :focus-within) h3 .rs-forum__category-primary-link {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* RC24: vertically center both icons and the sliding thumb against the same
   44px control axis in both themes. Preserve existing horizontal slide states. */
.rs-forum .rs-forum__theme-bar .rs-forum__theme-sun,
.rs-forum .rs-forum__theme-bar .rs-forum__theme-moon {
  top: 50%;
  transform: translateY(-50%);
}
.rs-forum .rs-forum__theme-bar .rs-forum__theme-thumb {
  top: 50%;
  translate: 0 -50%;
}

/* ================================================================
   Forum v2 60.3.0: shared visual contract (all forum views)
   Canonical palette and component geometry. Page identity never
   determines row/panel colors. Change tokens here, not per route.
   ================================================================ */
.rs-forum[data-rs-theme="light"] {
  --forum-ui-panel: #e2eaf3;
  --forum-ui-panel-border: #c8d5e3;
  /* Posts use the same inward surface hierarchy as category panels. */
  --forum-post-surface: #e5ebf2;
  --forum-quote-surface: #d9e3ee;
  --forum-quote-nested-surface: #cfdae7;
  --forum-post-border: #c8d5e3;
  --forum-editor-surface: var(--forum-post-surface);
  --forum-editor-toolbar-surface: #dbe4ee;
  --forum-editor-input-surface: #f0f4f8;
  --forum-editor-input-border: #bdcddd;
  --forum-ui-row: transparent;
  --forum-ui-row-hover: #e3ebf4;
  --forum-ui-row-pinned: #edf1f6;
  --forum-ui-row-pinned-hover: #e3ebf4;
  --forum-ui-row-separator: #d3deea;
  --forum-ui-icon: #e2eaf2;
  --forum-ui-icon-hover: #d7e3ef;
  --forum-ui-pin: #627a97;
}
.rs-forum[data-rs-theme="dark"] {
  --forum-ui-panel: #1c202a;
  --forum-ui-panel-border: #343b49;
  --forum-post-surface: var(--forum-panel);
  --forum-quote-surface: #252b36;
  --forum-quote-nested-surface: #303847;
  --forum-post-border: var(--forum-border);
  --forum-ui-row: transparent;
  --forum-ui-row-hover: #1d2430;
  --forum-ui-row-pinned: #141921;
  --forum-ui-row-pinned-hover: #1d2430;
  --forum-ui-row-separator: #303640;
  --forum-ui-icon: #1c202a;
  --forum-ui-icon-hover: #283140;
  --forum-ui-pin: #8193a8;
}
/* Panels share one surface regardless of page. */
.rs-forum[data-rs-theme] :is(.rs-forum__category-panel,.rs-forum__activity--home) {
  background: var(--forum-ui-panel);
  border-color: var(--forum-ui-panel-border);
}
/* Common list-row contract: category overview, topic listing, search
   results and other views using the same row classes. */
.rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item,.rs-forum__topic) {
  background: var(--forum-ui-row);
  border-bottom-color: var(--forum-ui-row-separator);
  transition: background-color 140ms ease;
}
.rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item,.rs-forum__topic):is(:hover,:focus-within,:focus-visible) {
  background: var(--forum-ui-row-hover) !important;
}
.rs-forum[data-rs-theme] .rs-forum__areas .rs-forum__category-icon {
  background: var(--forum-ui-icon);
  border-color: var(--forum-ui-row-separator);
}
.rs-forum[data-rs-theme] .rs-forum__areas .rs-forum__item:is(:hover,:focus-within,:focus-visible) .rs-forum__category-icon {
  background: var(--forum-ui-icon-hover);
}
/* Pinned is a state of the same row, not a second card design. */
.rs-forum[data-rs-theme] .rs-forum__topic--pinned:not(.rs-forum__topic--removed) {
  background: var(--forum-ui-row-pinned);
  border-inline-start: 3px solid var(--forum-ui-pin);
  padding-inline-start: 10px;
}
.rs-forum[data-rs-theme] .rs-forum__topic--pinned:not(.rs-forum__topic--removed):is(:hover,:focus-within) {
  background: var(--forum-ui-row-pinned-hover) !important;
}
.rs-forum[data-rs-theme] .rs-forum__topic-state--pinned {
  color: var(--forum-secondary);
  line-height: 1.35;
  margin-bottom: 2px;
}
/* Identical topic and category list rhythm, with space for pin labels. */
.rs-forum[data-rs-theme] .rs-forum__topic {
  padding-block: 10px;
  padding-inline-end: 8px;
  min-height: 70px;
}
.rs-forum[data-rs-theme] .rs-forum__areas .rs-forum__item {
  padding-block: 10px;
}
.rs-forum[data-rs-theme] .rs-forum__topic h3 {
  font-size: .97rem;
  line-height: 1.35;
}
.rs-forum[data-rs-theme] .rs-forum__topic-meta,
.rs-forum[data-rs-theme] .rs-forum__topic-count {
  font-size: .81rem;
}
.rs-forum[data-rs-theme] .rs-forum__topic--unread:not(.rs-forum__topic--removed) .rs-forum__topic-heading h3 {
  font-weight: 750;
}
/* The topic link is the sole underline owner. */
.rs-forum[data-rs-theme] .rs-forum__topic:is(:hover,:focus-within) h3 { text-decoration: none; }
.rs-forum[data-rs-theme] .rs-forum__topic:is(:hover,:focus-within) h3 a { text-decoration: underline; }
/* Keep removed/pending states visibly distinct, never flatten them into ordinary rows. */
.rs-forum[data-rs-theme] .rs-forum__topic--removed {
  background: color-mix(in srgb, #b7444a 14%, var(--forum-ui-panel));
}
@media (max-width:740px) {
  .rs-forum[data-rs-theme] .rs-forum__topic { min-height: 62px; padding-block: 9px; }
  .rs-forum[data-rs-theme] .rs-forum__areas .rs-forum__item { padding-block: 10px; }
}
@media (prefers-reduced-motion:reduce) {
  .rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item,.rs-forum__topic) { transition: none; }
}

/* Forum 60.3.1: description is content of the shared panel, not a nested surface.
   Explicitly reset background-color as well as the shorthand to avoid
   global theme background-color declarations showing through in light mode. */
.rs-forum[data-rs-theme] .rs-forum__category-panel .rs-forum__category-description {
  background: transparent;
  background-color: transparent;
  box-shadow: none;
  border: 0;
}

/* Forum v2 60.3.18: shared sorting controls across global latest and categories.
   Category toolbar controls follow the same parent-surface hierarchy.
   Light: nested controls are darker than the panel.
   Dark: nested controls are lighter than the panel.
   The shared .rs-forum__sort select applies to both latest-posts and category pages. */
.rs-forum[data-rs-theme="light"] {
  --forum-ui-control: #d0dce9;
  --forum-ui-control-hover: #bfcede;
  --forum-ui-control-border: #aebfd2;
}
.rs-forum[data-rs-theme="dark"] {
  --forum-ui-control: #2c3441;
  --forum-ui-control-hover: #394456;
  --forum-ui-control-border: #4b5b70;
}
.rs-forum[data-rs-theme] :is(.rs-forum__sort select,.rs-forum__category-toolbar .rs-forum__action) {
  background-color: var(--forum-ui-control);
  border: 1px solid var(--forum-ui-control-border);
  color: var(--forum-text);
  box-shadow: none;
  transition: background-color 140ms ease, border-color 140ms ease;
}
.rs-forum[data-rs-theme] :is(.rs-forum__sort select,.rs-forum__category-toolbar .rs-forum__action):hover {
  background-color: var(--forum-ui-control-hover);
  border-color: var(--forum-ui-control-border);
  color: var(--forum-text);
}
.rs-forum[data-rs-theme] :is(.rs-forum__sort select,.rs-forum__category-toolbar .rs-forum__action):focus-visible {
  outline: 2px solid var(--rs-focus, #8db8e8);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .rs-forum[data-rs-theme] :is(.rs-forum__sort select,.rs-forum__category-toolbar .rs-forum__action) { transition: none; }
}

.rs-forum[data-rs-theme] .rs-forum__category-toolbar .rs-forum__sort select {
  box-sizing: border-box;
  width: auto;
  max-width: 100%;
  min-height: 36px;
  height: 36px;
  padding: 0 24px 0 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  background-color: transparent;
  color: var(--forum-secondary);
  box-shadow: none;
  font: inherit;
  font-size: .85rem;
  cursor: pointer;
}
.rs-forum[data-rs-theme] .rs-forum__category-toolbar .rs-forum__sort select:hover {
  background-color: var(--forum-ui-control-hover, var(--rs-surface-hover));
  color: var(--forum-text);
}
.rs-forum[data-rs-theme] .rs-forum__category-toolbar .rs-forum__sort select:focus-visible {
  outline: 2px solid var(--rs-focus, #8db8e8);
  outline-offset: 2px;
}

/* Forum v2 60.3.3: light pagination uses the same recessed blue-grey
   surface hierarchy as the forum's other light-theme controls.
   Dark pagination deliberately inherits the generic Design System. */
.rs-forum[data-rs-theme="light"] .rs-pagination .rs-pagination__item:not([aria-current="page"]) {
  color: #243b54;
  background: #e0e8f1;
  border-color: #bac9da;
}
.rs-forum[data-rs-theme="light"] .rs-pagination .rs-pagination__item:not([aria-current="page"]):is(:hover,:focus-visible) {
  color: #112a45;
  background: #cfdeec;
  border-color: #8faac6;
}
.rs-forum[data-rs-theme="light"] .rs-pagination .rs-pagination__item[aria-current="page"] {
  color: #fff;
  background: #244765;
  border-color: #244765;
  font-weight: 700;
}
.rs-forum[data-rs-theme="light"] .rs-pagination .rs-pagination__item:focus-visible {
  outline: 2px solid #3976af;
  outline-offset: 2px;
}

/* Forum v2 60.3.4: topic rows use the same interaction geometry as home categories.
   Theme colors remain owned by the shared --forum-ui-* contract above. */
.rs-forum[data-rs-theme] .rs-forum__topic {
  padding: 10px 12px;
  border-radius: 8px;
  border-inline-start: 0;
  gap: 12px;
  outline: none;
  box-shadow: inset 0 -1px 0 var(--forum-ui-row-separator);
  transition: background-color 140ms ease, box-shadow 140ms ease;
}
.rs-forum[data-rs-theme] .rs-forum__topic--pinned:not(.rs-forum__topic--removed) {
  padding-inline-start: 12px;
  border-inline-start: 0;
  box-shadow: inset 3px 0 0 var(--forum-ui-pin), inset 0 -1px 0 var(--forum-ui-row-separator);
}
.rs-forum[data-rs-theme] .rs-forum__topic--removed {
  padding-inline-start: 12px;
  border-inline-start: 0;
  box-shadow: inset 3px 0 0 #c75b62, inset 0 -1px 0 var(--forum-ui-row-separator);
}
.rs-forum[data-rs-theme] .rs-forum__topic:is(:hover,:focus-within,:active) {
  background-color: var(--forum-ui-row-hover) !important;
}
.rs-forum[data-rs-theme] .rs-forum__topic--pinned:not(.rs-forum__topic--removed):is(:hover,:focus-within,:active) {
  background-color: var(--forum-ui-row-pinned-hover) !important;
}
/* A click should never produce a black rectangular browser focus overlay. */
.rs-forum[data-rs-theme] .rs-forum__topic:focus-within { outline: none; }
.rs-forum[data-rs-theme] .rs-forum__topic:has(h3 a:focus-visible) {
  outline: 2px solid var(--rs-border-focus, #477eae);
  outline-offset: -2px;
}
.rs-forum[data-rs-theme] .rs-forum__topic h3 a::after {
  border-radius: 8px;
}
.rs-forum[data-rs-theme] .rs-forum__topic > img:not(.rs-forum__target-image),
.rs-forum[data-rs-theme] .rs-forum__topic > .rs-forum__avatar-placeholder {
  flex-shrink: 0;
}
@media (max-width: 740px) {
  .rs-forum[data-rs-theme] .rs-forum__topic,
  .rs-forum[data-rs-theme] .rs-forum__topic--pinned:not(.rs-forum__topic--removed),
  .rs-forum[data-rs-theme] .rs-forum__topic--removed { padding: 9px 10px; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .rs-forum[data-rs-theme] .rs-forum__topic { transition: none; }
}

/* Forum v2 60.3.5: one list-row geometry for home categories and topic lists.
   The home category row is the reference. Keep state styling additive. */
.rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item, .rs-forum__topics .rs-forum__topic) {
  box-sizing: border-box;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 0;
  padding: 12px 8px;
  margin: 0;
  border-radius: 7px;
  border-inline-start: 0;
  border-bottom: 1px solid var(--forum-ui-row-separator);
  box-shadow: none;
  background: var(--forum-ui-row);
  transition: background-color 140ms ease;
}
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic > img:not(.rs-forum__target-image),
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic > .rs-forum__avatar-placeholder {
  width: 38px;
  height: 38px;
}
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic h3 a::after {
  border-radius: 7px;
}
.rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item, .rs-forum__topics .rs-forum__topic):is(:hover,:focus-within,:focus-visible,:active) {
  background: var(--forum-ui-row-hover) !important;
}
/* A pinned topic is still the same row, with a restrained inset state marker. */
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic--pinned:not(.rs-forum__topic--removed) {
  padding: 12px 8px;
  border-inline-start: 0;
  background: var(--forum-ui-row-pinned);
  box-shadow: inset 3px 0 0 var(--forum-ui-pin);
}
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic--pinned:not(.rs-forum__topic--removed):is(:hover,:focus-within,:active) {
  background: var(--forum-ui-row-pinned-hover) !important;
}
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic--removed {
  padding: 12px 8px;
  border-inline-start: 0;
  box-shadow: inset 3px 0 0 #c75b62;
}
/* Keep the latest-post link reachable without allowing its hover to create a square tile. */
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic .rs-forum__latest-link:hover {
  background: transparent;
}
@media (max-width: 740px) {
  .rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item, .rs-forum__topics .rs-forum__topic),
  .rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic--pinned:not(.rs-forum__topic--removed),
  .rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic--removed {
    padding: 10px 8px;
    gap: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item, .rs-forum__topics .rs-forum__topic) {
    transition: none;
  }
}


/* Forum v2 60.3.6: unified interactive row behavior.
   Home category rows and topic rows share a visible focus and press surface. */
.rs-forum[data-rs-theme="light"] { --forum-ui-row-focus:#3976af; --forum-ui-row-pressed:#d5e4f3; }
.rs-forum[data-rs-theme="dark"] { --forum-ui-row-focus:#7ba9d9; --forum-ui-row-pressed:#263448; }
.rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item,.rs-forum__topics .rs-forum__topic) {
  position:relative; border-radius:8px; outline:2px solid transparent; outline-offset:-2px;
  box-shadow:inset 0 -1px 0 var(--forum-ui-row-separator);
  transition:background-color 140ms ease,outline-color 140ms ease;
}
.rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item,.rs-forum__topics .rs-forum__topic):is(:focus-within,:focus-visible) {
  outline:2px solid var(--forum-ui-row-focus); outline-offset:-2px;
  background:var(--forum-ui-row-hover) !important;
}
.rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item,.rs-forum__topics .rs-forum__topic):active {
  outline-color:var(--forum-ui-row-focus); background:var(--forum-ui-row-pressed) !important;
}
/* Topic title is a full-row overlay. Its default rectangular focus outline
   is suppressed only because the parent row supplies the focus indicator. */
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic h3 a:is(:focus,:focus-visible),
.rs-forum[data-rs-theme] .rs-forum__areas .rs-forum__category-primary-link:is(:focus,:focus-visible) { outline:none; }
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic h3 a::after { border-radius:8px; }
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic--pinned:not(.rs-forum__topic--removed) {
  box-shadow:inset 3px 0 0 var(--forum-ui-pin),inset 0 -1px 0 var(--forum-ui-row-separator);
}
@media (prefers-reduced-motion:reduce) {
  .rs-forum[data-rs-theme] :is(.rs-forum__areas .rs-forum__item,.rs-forum__topics .rs-forum__topic) { transition:none; }
}

/* Forum v2 60.3.7: one geometry for every thread status.
   Status lives beside the count, not above the subject. No tinted
   cards, left stripes, or per-status row padding. */
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic:is(.rs-forum__topic--pinned,.rs-forum__topic--removed) {
  padding: 12px 8px;
  border-inline-start: 0;
  border-bottom: 1px solid var(--forum-ui-row-separator);
  background: var(--forum-ui-row);
  box-shadow: none;
}
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic:is(.rs-forum__topic--pinned,.rs-forum__topic--removed):is(:hover,:focus-within,:active) {
  background: var(--forum-ui-row-hover) !important;
  box-shadow: none;
}
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic-end-details {
  display: flex; flex-direction: column; align-items: flex-end; justify-content: center;
  gap: 2px; min-width: 0;
}
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic-state {
  display: inline-flex; align-items: center; gap: 5px; margin: 0;
  font-size: .72rem; line-height: 1.2; font-weight: 650; white-space: nowrap;
}
.rs-forum[data-rs-theme="light"] .rs-forum__topics .rs-forum__topic-state--removed { color: #a13945; }
.rs-forum[data-rs-theme="dark"] .rs-forum__topics .rs-forum__topic-state--removed { color: #f19b9e; }
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic--removed .rs-forum__topic-content { opacity: .78; }
@media (max-width: 740px) {
  .rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic:is(.rs-forum__topic--pinned,.rs-forum__topic--removed) { padding: 10px 8px; }
  .rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic-state { font-size: .68rem; }
}

/* Forum 60.3.8: topic titles use the same primary text color as category titles.
   Override the generic light-theme unclassed-link rule only in topic rows.
   Keep body links, author-role colors and explicit action links untouched. */
.rs-forum[data-rs-theme] .rs-forum__topics .rs-forum__topic h3 a:not([class]),
.rs-forum[data-rs-theme] .rs-forum__areas .rs-forum__item h3 .rs-forum__category-primary-link {
  color: var(--forum-text);
}

/* Forum v60.3.11: latest-posts disclosure shares the home activity surface.
   Preserve native details behaviour, position, layout and dark theme palette. */
.rs-forum[data-rs-theme] .rs-forum__activity-utility-row
  .rs-forum__activity--collapsible > .rs-forum__activity-list {
  background-color: var(--forum-ui-panel);
  border-color: var(--forum-ui-panel-border);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
}
.rs-forum[data-rs-theme] .rs-forum__activity-utility-row
  .rs-forum__activity--collapsible > .rs-forum__activity-list .rs-forum__activity-item {
  border-inline-start-color: var(--forum-ui-panel-border);
}
.rs-forum[data-rs-theme] .rs-forum__activity-utility-row
  .rs-forum__activity--collapsible > .rs-forum__activity-list .rs-forum__activity-all {
  border-top-color: var(--forum-ui-panel-border);
}

/* 60.3.13: one shared post-card surface across thread views.
   Light cards sit slightly deeper than the page background; dark cards
   retain their existing raised surface. No separate body background.
   Removed/moderated post status styles remain authoritative. */
.rs-forum[data-rs-theme] .rs-forum__post:not(.rs-forum__post--removed) {
  background-color: var(--forum-post-surface);
  border-color: var(--forum-post-border);
}
.rs-forum[data-rs-theme] .rs-forum__post:not(.rs-forum__post--removed):target {
  border-color: var(--rs-border-focus,#7aa7d9);
}

/* Forum v2 60.3.14: shared light-theme composer surfaces.
   Reply, new-topic, edit and guest composers inherit the same card surface
   as posts. Keep the toolbar and writing field one step deeper, not white.
   Dark theme remains unchanged. */
.rs-forum[data-rs-theme="light"] .rs-forum__editor {
  background: var(--forum-editor-surface) !important;
  border-color: var(--forum-post-border);
}
.rs-forum[data-rs-theme="light"] .rs-forum__editor .rs-forum__editor-body,
.rs-forum[data-rs-theme="light"] .rs-forum__native-editor .rs-forum__editor-body {
  background-color: var(--forum-editor-input-surface);
  border-color: var(--forum-editor-input-border);
}
.rs-forum[data-rs-theme="light"] .rs-forum__editor .rs-forum__editor-chrome {
  background-color: var(--forum-editor-toolbar-surface);
  border-bottom-color: var(--forum-editor-input-border);
}
.rs-forum[data-rs-theme="light"] .rs-forum__native-editor .rs-forum__visual-input,
.rs-forum[data-rs-theme="light"] .rs-forum__editor .rs-forum__editor-body textarea {
  background-color: var(--forum-editor-input-surface);
}
.rs-forum[data-rs-theme="light"] .rs-forum__editor:not(.rs-forum__native-editor) > textarea,
.rs-forum[data-rs-theme="light"] .rs-forum__editor input[name="subject"],
.rs-forum[data-rs-theme="light"] .rs-forum__editor[data-forum-guest-compose] textarea[name="message"] {
  background-color: var(--forum-editor-input-surface);
  border-color: var(--forum-editor-input-border);
}

/* 60.3.15: The outer composer is a form, not the editor body.
   Force its actual card surface to match posts, even when site-wide form
   styling provides a white background. The writing area stays subtly inset. */
.rs-forum[data-rs-theme="light"] form.rs-forum__editor {
  background: var(--forum-post-surface) !important;
  border-color: var(--forum-post-border);
}
.rs-forum[data-rs-theme="light"] form.rs-forum__editor .rs-forum__editor-body {
  background: var(--forum-editor-input-surface);
}


/* Forum v2 60.3.17: shared light-theme editor auxiliary surfaces.
   Pickers are toolbar panels, not the writing canvas. Keep the toolbar,
   panels and input surfaces on their respective shared color tokens.
   Dark theme and editor behavior remain unchanged. */
.rs-forum[data-rs-theme="light"] .rs-forum__native-editor :is(.rs-forum__emoticon-picker, .rs-forum__library-picker, .rs-forum__link-dialog),
.rs-forum[data-rs-theme="light"] .rs-forum__editor :is(.rs-forum__emoticon-picker, .rs-forum__library-picker, .rs-forum__link-dialog) {
  background-color: var(--forum-editor-surface);
  border-top-color: var(--forum-editor-input-border);
}
.rs-forum[data-rs-theme="light"] .rs-forum__native-editor :is(.rs-forum__library-query, .rs-forum__link-dialog-input),
.rs-forum[data-rs-theme="light"] .rs-forum__editor :is(.rs-forum__library-query, .rs-forum__link-dialog-input) {
  background-color: var(--forum-editor-input-surface);
  border-color: var(--forum-editor-input-border);
  color: var(--forum-text);
}
.rs-forum[data-rs-theme="light"] .rs-forum__native-editor :is(.rs-forum__emoticon-choice, .rs-forum__library-result, .rs-forum__link-dialog-actions button):is(:hover,:focus-visible),
.rs-forum[data-rs-theme="light"] .rs-forum__editor :is(.rs-forum__emoticon-choice, .rs-forum__library-result, .rs-forum__link-dialog-actions button):is(:hover,:focus-visible) {
  background-color: var(--forum-editor-toolbar-surface);
}
.rs-forum[data-rs-theme="light"] .rs-forum__native-editor .rs-forum__library-result,
.rs-forum[data-rs-theme="light"] .rs-forum__editor .rs-forum__library-result {
  border-color: var(--forum-editor-input-border);
}

/* Forum v2 60.3.19: a sort control directly on the light page surface
   needs only one step of contrast. Category-panel controls retain their
   stronger inset tone from 60.3.18. Dark theme is unchanged. */
.rs-forum[data-rs-theme="light"] .rs-forum__sortbar .rs-forum__sort select {
  background-color: #e5ebf2;
  border-color: #c7d5e4;
}
.rs-forum[data-rs-theme="light"] .rs-forum__sortbar .rs-forum__sort select:hover {
  background-color: #dae4ef;
  border-color: #b6c9dd;
}

/* Forum v2 60.3.22: compact shared browse filters, both themes. */
.rs-forum__browse-heading .rs-forum__sort { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.rs-forum__browse-heading .rs-forum__sort select { width:auto; max-width:100%; min-width:160px; }
@media (max-width:600px) {
  .rs-forum__browse-heading .rs-forum__sort { width:100%; }
  .rs-forum__browse-heading .rs-forum__sort select { flex:1 1 155px; min-width:0; }
}

/* System theme follows the same mirrored quote hierarchy before JS theme resolution. */
@media (prefers-color-scheme: light) {
  .rs-forum[data-rs-theme="auto"] {
    --forum-quote-surface: #d9e3ee;
    --forum-quote-nested-surface: #cfdae7;
  }
}

/* Forum v2 60.3.29: slender Latest posts switch, shared across both themes. */
.rs-forum .rs-forum__latest-switch-form{display:inline-flex;align-items:center;gap:0;margin:0}
.rs-forum .rs-forum__latest-switch{display:inline-flex;align-items:center;gap:6px;width:auto;height:auto;min-height:24px;padding:1px 3px;border:0;border-radius:7px;background:transparent;color:var(--forum-text);font:inherit;font-size:.8rem;cursor:pointer;box-shadow:none}
.rs-forum .rs-forum__latest-switch:hover{background:var(--forum-hover,rgba(128,128,128,.12))}
.rs-forum .rs-forum__latest-switch:focus-visible{outline:2px solid var(--rs-border-focus,#7aa7d9);outline-offset:2px}
.rs-forum .rs-forum__latest-switch-thumb{position:relative;display:block;flex:0 0 26px;width:26px;height:15px;border-radius:999px;background:var(--forum-switch-off-track,#3a414d);border:1px solid var(--forum-switch-off-border,#596374);box-shadow:none;transform:none;transition:background-color .15s ease}
.rs-forum .rs-forum__latest-switch-thumb::after{content:"";position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s ease}
.rs-forum .rs-forum__latest-switch[aria-checked="true"]{background:transparent;color:var(--forum-text);border:0}
.rs-forum .rs-forum__latest-switch[aria-checked="true"] .rs-forum__latest-switch-thumb{background:#27765c;border-color:#27765c}
.rs-forum .rs-forum__latest-switch[aria-checked="true"] .rs-forum__latest-switch-thumb::after{transform:translateX(11px)}
.rs-forum .rs-forum__latest-switch-state{min-width:0;font-size:inherit;color:inherit;white-space:nowrap}
.rs-forum .rs-forum__latest-switch:disabled{cursor:wait;opacity:.7}
.rs-forum .rs-forum__latest-switch-error{font-size:.76rem;color:var(--rs-danger,#b42318)}
@media(prefers-reduced-motion:reduce){.rs-forum .rs-forum__latest-switch-thumb,.rs-forum .rs-forum__latest-switch-thumb::after{transition:none}}

/* 60.3.30: neutral off-state follows each theme, without changing switch geometry. */
.rs-forum[data-rs-theme="light"]{--forum-switch-off-track:#dce5ef;--forum-switch-off-border:#aebfd2}
.rs-forum[data-rs-theme="dark"]{--forum-switch-off-track:#353c48;--forum-switch-off-border:#596374}
.rs-forum[data-rs-theme="dark"] .rs-forum__latest-switch[aria-checked="false"] .rs-forum__latest-switch-thumb::after{background:#d5dce6}

/* Forum 60.3.31: compact staff-only plain-text category description editor. */
.rs-forum__category-panel .rs-forum__category-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rs-forum__category-panel .rs-forum__category-heading h2{margin:0 0 9px}
.rs-forum__category-edit{position:relative;margin-left:auto;font-size:.875rem}
.rs-forum__category-edit-trigger{cursor:pointer;color:var(--rs-link);list-style:none;padding:4px 7px;border-radius:6px}
.rs-forum__category-edit-trigger::-webkit-details-marker{display:none}
.rs-forum__category-edit-trigger:hover{background:var(--rs-surface-hover,var(--rs-surface))}
.rs-forum__category-edit-trigger:focus-visible{outline:2px solid var(--rs-border-focus,#7aa7d9);outline-offset:2px}
.rs-forum__category-edit[open]{width:100%;margin:4px 0 14px}
.rs-forum__category-edit-form{display:grid;gap:9px;padding:12px;border:1px solid var(--rs-border);border-radius:10px;background:var(--rs-surface)}
.rs-forum__category-edit-form label{font-weight:600;color:var(--rs-text)}
.rs-forum__category-edit-form textarea{box-sizing:border-box;width:100%;min-height:110px;resize:vertical;border:1px solid var(--rs-border);border-radius:8px;padding:10px 12px;background:var(--rs-surface-raised);color:var(--rs-text);font:inherit;line-height:1.5}
.rs-forum__category-edit-form textarea:focus-visible{outline:2px solid var(--rs-border-focus,#7aa7d9);outline-offset:1px}
.rs-forum__category-edit-actions{display:flex;gap:8px}

/* Forum v2 60.3.32: category description settings, compact and theme-aware. */
.rs-forum[data-rs-theme] .rs-forum__category-panel{position:relative}
.rs-forum[data-rs-theme] .rs-forum__category-panel > .rs-forum__category-heading{display:block;padding-right:36px}
.rs-forum[data-rs-theme] .rs-forum__category-edit{position:static;display:block;width:100%;margin:0;font-size:inherit}
.rs-forum[data-rs-theme] .rs-forum__category-edit-trigger{position:absolute;right:17px;top:15px;display:grid;place-items:center;width:34px;height:34px;box-sizing:border-box;padding:0;border:1px solid transparent;border-radius:8px;color:var(--forum-secondary);background:transparent;list-style:none;cursor:pointer}
.rs-forum[data-rs-theme] .rs-forum__category-edit-trigger:hover,.rs-forum[data-rs-theme] .rs-forum__category-edit[open] .rs-forum__category-edit-trigger{color:var(--forum-text);background:var(--forum-ui-control,var(--rs-surface));border-color:var(--rs-border)}
.rs-forum[data-rs-theme] .rs-forum__category-edit-trigger:focus-visible{outline:2px solid var(--rs-border-focus,#7aa7d9);outline-offset:2px}
.rs-forum[data-rs-theme] .rs-forum__category-edit[open]{margin:0 0 14px}
.rs-forum[data-rs-theme] .rs-forum__category-edit-form{display:grid;gap:10px;padding:14px;margin:8px 0 0;border:1px solid var(--rs-border);border-radius:10px;background:var(--forum-post-surface,var(--rs-surface));color:var(--forum-text)}
.rs-forum[data-rs-theme] .rs-forum__category-edit-form label{font-size:.875rem;font-weight:650;color:var(--forum-text)}
.rs-forum[data-rs-theme] .rs-forum__category-edit-form textarea{box-sizing:border-box;width:100%;min-height:120px;resize:vertical;padding:10px 12px;border:1px solid var(--rs-border);border-radius:8px;background:var(--forum-editor-input-surface,var(--rs-surface));color:var(--forum-text);font:inherit;line-height:1.5}
.rs-forum[data-rs-theme="dark"] .rs-forum__category-edit-form textarea{background:#11151b;border-color:#3a4350;color:#f1f4f8}
.rs-forum[data-rs-theme="light"] .rs-forum__category-edit-form textarea{background:#f0f4f8;border-color:#c2d1e1;color:#14243a}
.rs-forum[data-rs-theme] .rs-forum__category-edit-form textarea:focus-visible{outline:2px solid var(--rs-border-focus,#7aa7d9);outline-offset:1px}
.rs-forum[data-rs-theme] .rs-forum__category-edit-actions{display:flex;gap:8px}
@media(max-width:600px){.rs-forum[data-rs-theme] .rs-forum__category-edit-trigger{right:10px;top:10px}}

/* Thread heading: compact category backlink above the subject. */
.rs-forum .rs-forum__thread-category-link {
  display: inline-block;
  color: var(--forum-secondary);
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
}
.rs-forum .rs-forum__thread-category-link:hover,
.rs-forum .rs-forum__thread-category-link:focus-visible {
  color: var(--forum-text);
  text-decoration: underline;
}

/* Category heading: understated return link to the forum index. */
.rs-forum .rs-forum__category-home-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: .35rem;
  color: var(--forum-secondary);
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
}
.rs-forum .rs-forum__category-home-link:hover,
.rs-forum .rs-forum__category-home-link:focus-visible {
  color: var(--forum-text);
  text-decoration: underline;
}

/* Thread heading: show lock state without adding another metadata row. */
.rs-forum .rs-forum__thread-lock-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: -0.08em;
  margin-inline-end: .3em;
  color: var(--forum-muted, currentColor);
}
.rs-forum .rs-forum__thread-lock-icon svg {
  display: block;
  width: .72em;
  height: .72em;
}
