/*
 * Debate Forum R146
 * Isolated forum stylesheet. Every rule is scoped under .debate-shell so the
 * forum cannot alter text colors or controls in other application modules.
 */

.debate-shell {
  --debate-bg: #090d15;
  --debate-surface: #111827;
  --debate-surface-raised: #182235;
  --debate-surface-hover: #202d44;
  --debate-line: #2d3a52;
  --debate-line-strong: #455775;
  --debate-text: #f5f7fb;
  --debate-text-secondary: #c7d2e3;
  --debate-text-muted: #9eacc3;
  --debate-pro: #ff6875;
  --debate-pro-deep: #5e2530;
  --debate-con: #6f98ff;
  --debate-con-deep: #263f7c;
  --debate-focus: #f8d36b;
  --debate-danger: #ff8b93;
  --debate-radius: 16px;
  width: min(100%, 1180px);
  margin-inline: auto;
  padding: clamp(14px, 2.2vw, 26px);
  box-sizing: border-box;
  display: grid;
  gap: 16px;
  color: var(--debate-text);
  color-scheme: dark;
  background: var(--debate-bg);
  border: 1px solid #202a3c;
  border-radius: 22px;
  box-shadow: 0 24px 64px rgb(0 0 0 / 42%);
  font-family: "Aptos", "Microsoft YaHei UI", "PingFang SC", sans-serif;
}

.debate-shell [hidden] {
  display: none !important;
}

.debate-shell h2,
.debate-shell h3,
.debate-shell h4,
.debate-shell strong,
.debate-shell b {
  color: var(--debate-text);
}

.debate-shell p {
  color: inherit;
}

.debate-shell button,
.debate-shell select,
.debate-shell input,
.debate-shell textarea {
  font: inherit;
}

.debate-shell button:focus-visible,
.debate-shell select:focus-visible,
.debate-shell input:focus-visible,
.debate-shell textarea:focus-visible,
.debate-shell summary:focus-visible {
  outline: 3px solid var(--debate-focus);
  outline-offset: 3px;
}

.debate-forum-header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: end;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--debate-line);
  border-radius: var(--debate-radius);
  background: linear-gradient(135deg, #182238 0%, #111827 58%, #211a2d 100%);
}

.debate-shell .debate-forum-header h2 {
  margin: 6px 0 8px;
  color: var(--debate-text);
  font: 850 clamp(2rem, 4vw, 3.7rem) / 1 "Aptos Display", "Microsoft YaHei UI", sans-serif;
  letter-spacing: -0.055em;
}

.debate-shell .debate-eyebrow,
.debate-shell .debate-section-label {
  display: block;
  color: #afbdd3;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.16em;
}

.debate-shell .debate-forum-intro {
  max-width: 66ch;
  margin: 0;
  color: var(--debate-text-secondary);
  font-size: 0.94rem;
  line-height: 1.65;
}

.debate-forum-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 8px;
  border: 1px solid var(--debate-line);
  border-radius: 14px;
  background: var(--debate-surface);
}

.debate-shell .debate-mode-switcher {
  display: flex;
  width: min(100%, 390px);
  gap: 5px;
  padding: 4px;
  border: 0;
  border-radius: 11px;
  background: #090f1c;
}

.debate-shell .debate-mode-tab {
  min-height: 44px;
  flex: 1;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--debate-text-secondary);
  font-weight: 800;
  cursor: pointer;
}

.debate-shell .debate-mode-tab:hover {
  background: var(--debate-surface-hover);
  color: var(--debate-text);
}

.debate-shell .debate-mode-tab.active,
.debate-shell .debate-mode-tab[aria-selected="true"] {
  background: #eef3ff;
  color: #101827;
  box-shadow: 0 5px 14px rgb(0 0 0 / 28%);
}

.debate-shell .debate-primary-actions {
  display: flex;
  justify-content: end;
}

.debate-shell .debate-hero-button {
  min-height: 44px;
  min-width: 136px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: #fff;
  font-weight: 850;
  cursor: pointer;
}

.debate-shell .debate-hero-button-pro {
  background: #d94858;
  border-color: #ff7581;
}

.debate-shell .debate-hero-button-con {
  background: #416fdd;
  border-color: #7ca1ff;
}

.debate-shell .debate-hero-button:hover {
  filter: brightness(1.1);
}

.debate-shell .debate-status {
  min-height: 0;
  margin: 0;
  padding: 0 4px;
  color: #b9d7ff;
  line-height: 1.5;
}

.debate-shell .debate-status:empty {
  display: none;
}

.debate-shell .debate-status.error,
.debate-shell .error {
  color: #ffadb3;
}

.debate-shell .debate-composer-popover {
  padding: 1px;
  border-radius: var(--debate-radius);
  background: linear-gradient(115deg, var(--debate-pro), var(--debate-con));
  box-shadow: 0 24px 56px rgb(0 0 0 / 42%);
}

.debate-shell .debate-compose {
  display: grid;
  gap: 16px;
  padding: clamp(18px, 2.4vw, 28px);
  border: 0;
  border-radius: 15px;
  background: #121a29;
}

.debate-shell .debate-composer-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.debate-shell .debate-composer-head h3 {
  margin: 4px 0 5px;
  color: var(--debate-text);
  font-size: 1.35rem;
}

.debate-shell .debate-composer-head p {
  margin: 0;
  color: var(--debate-text-secondary);
  font-size: 0.88rem;
  line-height: 1.55;
}

.debate-shell .debate-compose label {
  display: grid;
  gap: 7px;
  color: var(--debate-text-secondary);
  font-size: 0.82rem;
  font-weight: 750;
}

.debate-shell .debate-compose input,
.debate-shell .debate-compose textarea,
.debate-shell .debate-compose select,
.debate-shell .debate-forum-toolbar select,
.debate-shell .debate-discussion-toolbar select,
.debate-shell .debate-comment-composer textarea,
.debate-shell .debate-post-reply-form textarea,
.debate-shell .debate-reply-form input {
  width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: 11px 12px;
  border: 1px solid var(--debate-line-strong);
  border-radius: 9px;
  background: #0b1220;
  color: var(--debate-text);
}

.debate-shell .debate-compose textarea {
  min-height: 104px;
  resize: vertical;
}

.debate-shell .debate-form-sides {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.debate-shell .debate-composer-actions {
  display: flex;
  justify-content: end;
  gap: 10px;
}

.debate-shell .debate-close-composer,
.debate-shell .debate-submit-button {
  min-height: 44px;
  padding: 0 16px;
  border-radius: 9px;
  font-weight: 800;
  cursor: pointer;
}

.debate-shell .debate-close-composer {
  border: 1px solid var(--debate-line-strong);
  background: transparent;
  color: var(--debate-text-secondary);
}

.debate-shell .debate-submit-button {
  border: 1px solid #fff;
  background: #f1f5ff;
  color: #111827;
}

.debate-shell button:disabled {
  cursor: wait;
  opacity: 0.62;
}

.debate-shell .debate-topic-workspace,
.debate-shell .debate-forum-workspace {
  display: grid;
  grid-template-columns: minmax(270px, 0.72fr) minmax(0, 1.65fr);
  gap: 14px;
  align-items: start;
}

.debate-shell .debate-power-board {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(128px, 0.8fr) minmax(220px, 2fr) minmax(128px, 0.8fr);
  min-height: 92px;
  overflow: hidden;
  border: 1px solid var(--debate-line);
  border-radius: var(--debate-radius);
  background: var(--debate-surface);
}

.debate-shell .debate-power-side {
  display: grid;
  align-content: center;
  gap: 2px;
  min-height: 90px;
  padding: 14px 20px;
}

.debate-shell .debate-power-side strong {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
}

.debate-shell .debate-power-side span {
  color: #d4deee;
  font-size: 0.77rem;
}

.debate-shell .debate-power-side b {
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  letter-spacing: -0.05em;
}

.debate-shell .debate-power-side-pro {
  background: linear-gradient(135deg, #6d2935, #341c27);
}

.debate-shell .debate-power-side-con {
  justify-items: end;
  text-align: right;
  background: linear-gradient(225deg, #294b9b, #1c2d5d);
}

.debate-shell .debate-power-track {
  display: flex;
  min-height: 90px;
  overflow: hidden;
  background: #0d1422;
}

.debate-shell .debate-power-fill-pro,
.debate-shell .debate-power-fill-con {
  display: block;
  transition: width 180ms ease;
}

.debate-shell .debate-power-fill-pro {
  background: linear-gradient(90deg, #a33b4a, #ea5665);
}

.debate-shell .debate-power-fill-con {
  background: linear-gradient(90deg, #4e7dea, #3155ad);
}

.debate-shell .debate-topic-index,
.debate-shell .debate-post-index,
.debate-shell .debate-ballot-stage,
.debate-shell .debate-post-reader {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--debate-line);
  border-radius: var(--debate-radius);
  background: var(--debate-surface);
  color: var(--debate-text);
}

.debate-shell .debate-ballot-stage,
.debate-shell .debate-post-reader {
  min-height: 360px;
  padding: clamp(18px, 2.3vw, 26px);
  background: #101827;
  scroll-margin-top: 14px;
}

.debate-shell .debate-index-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding: 2px 2px 12px;
  border-bottom: 1px solid var(--debate-line);
}

.debate-shell .debate-index-title h3 {
  margin: 3px 0 0;
  color: var(--debate-text);
  font-size: 1.02rem;
}

.debate-shell .debate-count-badge {
  display: grid;
  min-width: 34px;
  min-height: 30px;
  place-items: center;
  border: 1px solid var(--debate-line-strong);
  border-radius: 999px;
  color: var(--debate-text-secondary);
  font-size: 0.78rem;
  font-weight: 800;
}

.debate-shell #debateTopicList,
.debate-shell #debatePostList {
  display: grid;
  gap: 8px;
}

.debate-shell .debate-topic-index-card,
.debate-shell .debate-post-index-card {
  display: grid;
  width: 100%;
  gap: 8px;
  padding: 14px;
  box-sizing: border-box;
  border: 1px solid var(--debate-line);
  border-left: 4px solid transparent;
  border-radius: 11px;
  background: var(--debate-surface-raised);
  color: var(--debate-text);
  text-align: left;
  cursor: pointer;
  box-shadow: none;
}

.debate-shell .debate-topic-index-card:hover,
.debate-shell .debate-post-index-card:hover {
  border-color: var(--debate-line-strong);
  background: var(--debate-surface-hover);
  transform: none;
}

.debate-shell .debate-topic-selected,
.debate-shell .debate-post-selected {
  border-color: #9fb7e4;
  border-left-color: #e5ecff;
  background: #243149;
  box-shadow: inset 3px 0 0 #e5ecff;
}

.debate-shell .debate-topic-index-card > strong,
.debate-shell .debate-post-index-card > strong {
  color: var(--debate-text);
  font-size: 0.98rem;
  line-height: 1.45;
}

.debate-shell .debate-index-heading,
.debate-shell .debate-index-stats,
.debate-shell .debate-comment-head,
.debate-shell .debate-post-reply-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.debate-shell .debate-index-heading time,
.debate-shell .debate-index-author,
.debate-shell .debate-index-stats,
.debate-shell .debate-public-id,
.debate-shell .debate-ballot-meta,
.debate-shell .debate-post-meta,
.debate-shell .debate-post-reply-head span {
  margin: 0;
  color: var(--debate-text-muted);
  font-size: 0.75rem;
}

.debate-shell .debate-index-stats {
  color: var(--debate-text-secondary);
}

.debate-shell .debate-post-excerpt {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: var(--debate-text-secondary);
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.debate-shell .debate-status-chip,
.debate-shell .debate-tag,
.debate-shell .debate-side-badge {
  display: inline-flex;
  width: max-content;
  padding: 4px 8px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: rgb(255 255 255 / 5%);
  color: #ced9ec;
  font-size: 0.67rem;
  font-weight: 850;
}

.debate-shell .debate-ballot-head,
.debate-shell .debate-post-reader-head {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--debate-line);
}

.debate-shell .debate-ballot-head h3,
.debate-shell .debate-post-reader-head h3,
.debate-shell .debate-discussion-toolbar h3,
.debate-shell .debate-post-reply-stream h4 {
  color: var(--debate-text);
}

.debate-shell .debate-ballot-head h3,
.debate-shell .debate-post-reader-head h3 {
  margin: 7px 0;
  font-size: clamp(1.55rem, 3vw, 2.3rem);
  line-height: 1.22;
  letter-spacing: -0.025em;
}

.debate-shell .debate-kicker {
  color: #e0bb72;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.15em;
}

.debate-shell .debate-topic-background,
.debate-shell .debate-post-body {
  margin: 18px 0;
  color: #e8edf6;
  font-size: 1rem;
  line-height: 1.8;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.debate-shell .debate-stance-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.debate-shell .debate-stance {
  display: grid;
  min-height: 160px;
  align-content: start;
  gap: 12px;
  padding: 16px;
  border: 1px solid transparent;
  border-radius: 13px;
  color: #fff;
}

.debate-shell .debate-stance-pro {
  border-color: #a94b58;
  background: linear-gradient(145deg, #6e2c38, #3b202a);
}

.debate-shell .debate-stance-con {
  border-color: #4f74cc;
  background: linear-gradient(145deg, #2c4b92, #202e58);
}

.debate-shell .debate-stance-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.debate-shell .debate-stance-label {
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.debate-shell .debate-stance p {
  margin: 0;
  color: #fff;
  line-height: 1.7;
}

.debate-shell .debate-vote-button {
  min-height: 44px;
  margin-top: auto;
  border: 1px solid #fff;
  border-radius: 9px;
  background: #f6f8ff;
  color: #101827;
  font-weight: 850;
  cursor: pointer;
}

.debate-shell .debate-your-vote {
  width: max-content;
  margin-top: auto;
  padding: 6px 9px;
  border: 1px solid rgb(255 255 255 / 45%);
  border-radius: 8px;
  background: rgb(255 255 255 / 12%);
  color: #fff;
  font-weight: 800;
}

.debate-shell .debate-vote-meter {
  display: grid;
  grid-template-columns: var(--pro-share) calc(100% - var(--pro-share));
  min-height: 30px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #283750;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 850;
}

.debate-shell .debate-vote-meter-pro,
.debate-shell .debate-vote-meter-con {
  display: flex;
  min-width: 0;
  align-items: center;
  padding: 0 8px;
  overflow: hidden;
  color: #fff;
  white-space: nowrap;
}

.debate-shell .debate-vote-meter-pro {
  justify-content: start;
  background: var(--debate-pro);
}

.debate-shell .debate-vote-meter-con {
  justify-content: end;
  background: #4b78e5;
}

.debate-shell .debate-vote-meter.compact {
  min-height: 8px;
  margin: 0;
  font-size: 0;
}

.debate-shell .debate-vote-meter.compact span {
  padding: 0;
}

.debate-shell .debate-discussion-stream {
  display: grid;
  gap: 12px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--debate-line);
}

.debate-shell .debate-discussion-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.debate-shell .debate-discussion-toolbar h3 {
  margin: 0;
  font-size: 1.08rem;
}

.debate-shell .debate-comment-composer,
.debate-shell .debate-reply-form,
.debate-shell .debate-post-reply-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 9px;
  padding: 12px;
  border: 1px solid var(--debate-line);
  border-left: 4px solid var(--debate-line-strong);
  border-radius: 10px;
  background: #151f31;
}

.debate-shell .debate-comment-composer-pro {
  border-left-color: var(--debate-pro);
}

.debate-shell .debate-comment-composer-con {
  border-left-color: var(--debate-con);
}

.debate-shell .debate-comment {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
  border: 1px solid var(--debate-line);
  border-left: 4px solid;
  border-radius: 11px;
  background: var(--debate-surface-raised);
  color: var(--debate-text);
}

.debate-shell .debate-comment-pro {
  border-left-color: var(--debate-pro);
}

.debate-shell .debate-comment-con {
  border-left-color: var(--debate-con);
}

.debate-shell .debate-comment-head > div {
  display: grid;
  gap: 2px;
}

.debate-shell .debate-comment-body,
.debate-shell .debate-post-reply p,
.debate-shell .debate-reply-row p {
  margin: 0;
  color: #e8edf6;
  line-height: 1.72;
  white-space: pre-wrap;
}

.debate-shell .debate-inline-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.debate-shell .debate-action {
  min-height: 38px;
  padding: 0 11px;
  border: 1px solid var(--debate-line-strong);
  border-radius: 8px;
  background: #111a2a;
  color: var(--debate-text-secondary);
  font-weight: 750;
  cursor: pointer;
}

.debate-shell .debate-action:hover {
  border-color: #7184a5;
  background: var(--debate-surface-hover);
  color: var(--debate-text);
}

.debate-shell .debate-action-primary {
  border-color: #eff4ff;
  background: #eff4ff;
  color: #111827;
}

.debate-shell .debate-action-danger {
  color: var(--debate-danger);
}

.debate-shell .debate-more-actions {
  position: relative;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.debate-shell .debate-more-actions > summary {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid var(--debate-line-strong);
  border-radius: 8px;
  background: transparent;
  color: var(--debate-text-muted);
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}

.debate-shell .debate-more-actions > summary::-webkit-details-marker {
  display: none;
}

.debate-shell .debate-more-menu {
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: calc(100% + 6px);
  display: grid;
  min-width: 128px;
  gap: 5px;
  padding: 7px;
  border: 1px solid var(--debate-line-strong);
  border-radius: 10px;
  background: #0d1422;
  box-shadow: 0 14px 32px rgb(0 0 0 / 55%);
}

.debate-shell .debate-more-menu .debate-action {
  width: 100%;
  justify-content: start;
  text-align: left;
}

.debate-shell .debate-replies {
  display: grid;
  gap: 9px;
  margin: 2px 0 0 14px;
  padding: 12px;
  border-left: 2px solid var(--debate-line-strong);
  border-radius: 0 10px 10px 0;
  background: #121b2a;
}

.debate-shell .debate-reply-row,
.debate-shell .debate-post-reply {
  display: grid;
  gap: 8px;
  padding: 12px 4px;
  border-top: 1px solid var(--debate-line);
}

.debate-shell .debate-post-actions {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--debate-line);
}

.debate-shell .debate-post-reply-stream {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.debate-shell .debate-post-reply-stream h4 {
  margin: 2px 0;
}

.debate-shell .debate-empty,
.debate-shell .debate-loading,
.debate-shell .debate-discussion-hint,
.debate-shell .empty-state {
  padding: 16px;
  border: 1px dashed var(--debate-line-strong);
  border-radius: 10px;
  background: #151e2e;
  color: var(--debate-text-secondary);
  line-height: 1.6;
}

.debate-shell .debate-empty-stage,
.debate-shell .empty-state {
  min-height: 230px;
  display: grid;
  place-items: center;
  text-align: center;
}

.debate-shell .debate-forum-toolbar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 12px;
}

.debate-shell .debate-forum-toolbar label {
  display: grid;
  gap: 5px;
  color: var(--debate-text-muted);
  font-size: 0.7rem;
  font-weight: 800;
}

.debate-shell .debate-mobile-back {
  display: none;
}

@media (max-width: 820px) {
  .debate-shell {
    padding: 11px;
    border-radius: 16px;
  }

  .debate-forum-header {
    padding: 22px 19px;
  }

  .debate-shell .debate-forum-header h2 {
    font-size: 2.2rem;
  }

  .debate-forum-navigation {
    display: grid;
    padding: 7px;
  }

  .debate-shell .debate-mode-switcher,
  .debate-shell .debate-primary-actions,
  .debate-shell .debate-hero-button {
    width: 100%;
  }

  .debate-shell .debate-primary-actions {
    display: grid;
  }

  .debate-shell .debate-topic-workspace,
  .debate-shell .debate-forum-workspace {
    grid-template-columns: 1fr;
  }

  .debate-shell .debate-power-board {
    grid-template-columns: 1fr;
  }

  .debate-shell .debate-power-side {
    min-height: 70px;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    padding: 12px 15px;
  }

  .debate-shell .debate-power-side-con {
    justify-items: stretch;
    text-align: left;
  }

  .debate-shell .debate-power-side-con b {
    order: 3;
    text-align: right;
  }

  .debate-shell .debate-power-track {
    min-height: 14px;
  }

  .debate-shell .debate-form-sides,
  .debate-shell .debate-stance-grid,
  .debate-shell .debate-comment-composer,
  .debate-shell .debate-reply-form,
  .debate-shell .debate-post-reply-form {
    grid-template-columns: 1fr;
  }

  .debate-shell .debate-topic-index,
  .debate-shell .debate-post-index,
  .debate-shell .debate-ballot-stage,
  .debate-shell .debate-post-reader {
    padding: 13px;
  }

  .debate-shell .debate-mobile-back {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    margin-bottom: 12px;
    padding: 0 12px;
    border: 1px solid var(--debate-line-strong);
    border-radius: 9px;
    background: #151f31;
    color: var(--debate-text-secondary);
    font-weight: 800;
  }

  .debate-shell .debate-action,
  .debate-shell .debate-more-actions > summary {
    min-height: 44px;
  }

  .debate-shell .debate-more-menu {
    right: auto;
    left: 0;
  }

  .debate-shell .debate-composer-head > .debate-close-composer {
    display: none;
  }

  .debate-shell .debate-composer-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .debate-shell * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/*
 * The legacy duel skin intentionally marks global headings and buttons as
 * !important. This scoped firewall wins only inside the forum; it never
 * changes typography or controls elsewhere in the application.
 */
.debate-shell :is(h2, h3, h4, strong, b) {
  color: var(--debate-text) !important;
}

.debate-shell .debate-topic-index-card,
.debate-shell .debate-post-index-card {
  border: 1px solid var(--debate-line) !important;
  border-left: 4px solid transparent !important;
  border-radius: 11px !important;
  background: var(--debate-surface-raised) !important;
  color: var(--debate-text) !important;
}

.debate-shell .debate-topic-selected,
.debate-shell .debate-post-selected {
  border-color: #9fb7e4 !important;
  border-left-color: #e5ecff !important;
  background: #243149 !important;
  box-shadow: inset 3px 0 0 #e5ecff !important;
}

.debate-shell .debate-mode-tab {
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--debate-text-secondary) !important;
}

.debate-shell .debate-mode-tab.active,
.debate-shell .debate-mode-tab[aria-selected="true"] {
  background: #eef3ff !important;
  color: #101827 !important;
}

.debate-shell .debate-hero-button-pro {
  border: 1px solid #ff7581 !important;
  border-radius: 10px !important;
  background: #d94858 !important;
  color: #fff !important;
}

.debate-shell .debate-hero-button-con {
  border: 1px solid #7ca1ff !important;
  border-radius: 10px !important;
  background: #416fdd !important;
  color: #fff !important;
}

.debate-shell .debate-vote-button,
.debate-shell .debate-submit-button,
.debate-shell .debate-action-primary {
  border: 1px solid #f1f5ff !important;
  border-radius: 9px !important;
  background: #f1f5ff !important;
  color: #111827 !important;
}

.debate-shell .debate-action {
  border: 1px solid var(--debate-line-strong) !important;
  border-radius: 8px !important;
  background: #111a2a !important;
  color: var(--debate-text-secondary) !important;
}

.debate-shell .debate-action-danger {
  color: var(--debate-danger) !important;
}

.debate-shell .debate-close-composer,
.debate-shell .debate-mobile-back,
.debate-shell .debate-more-actions > summary {
  border: 1px solid var(--debate-line-strong) !important;
  background: transparent !important;
  color: var(--debate-text-secondary) !important;
  box-shadow: none !important;
}
