.universal-discussion {
  --discussion-accent: #36c9a5;
  --discussion-accent-strong: #1ba783;
  --discussion-accent-soft: rgba(54, 201, 165, 0.12);
  --discussion-danger: #f26d7d;
  margin: 28px 0 20px;
  color: var(--gallery-text, #f1f5f9);
}

.discussion-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--gallery-border-hover, rgba(255, 255, 255, 0.12));
}

.discussion-kicker {
  display: block;
  margin-bottom: 5px;
  color: var(--discussion-accent);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.discussion-heading h2 {
  margin: 0;
  font-size: 1.65rem;
  line-height: 1.15;
}

.discussion-count {
  display: inline-grid;
  min-width: 28px;
  height: 28px;
  margin-left: 6px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--discussion-accent) 35%, transparent);
  border-radius: 50%;
  color: var(--discussion-accent);
  font-size: 0.75rem;
  vertical-align: 3px;
}

.discussion-command,
.discussion-submit,
.discussion-post-action {
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  font: inherit;
}

.discussion-command {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--gallery-border-hover, rgba(255, 255, 255, 0.12));
  background: transparent;
  color: var(--gallery-text-secondary, #a68fb8);
}

.discussion-command.is-active {
  border-color: var(--discussion-accent);
  background: var(--discussion-accent-soft);
  color: var(--discussion-accent);
}

.discussion-command[hidden] {
  display: none;
}

.discussion-status,
.discussion-signin {
  padding: 24px 0;
  color: var(--gallery-text-muted, #6c6078);
  text-align: center;
}

.discussion-signin a {
  color: var(--discussion-accent);
  font-weight: 700;
}

.discussion-thread {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.discussion-post {
  margin-left: min(calc(var(--reply-depth, 0) * 28px), 112px);
  border: 1px solid var(--gallery-border, rgba(255, 255, 255, 0.06));
  border-left: 2px solid color-mix(in srgb, var(--discussion-accent) 55%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--gallery-surface, #1a1020) 95%, white 5%);
}

.discussion-post-head,
.discussion-post-actions {
  display: flex;
  align-items: center;
}

.discussion-post-head {
  gap: 9px;
  padding: 12px 14px 0;
}

.discussion-avatar {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border-radius: 50%;
  background: var(--discussion-accent-soft);
  color: var(--discussion-accent);
  font-size: 0.78rem;
  font-weight: 800;
}

.discussion-author {
  font-size: 0.88rem;
  font-weight: 800;
}

.discussion-role,
.discussion-time {
  color: var(--gallery-text-muted, #6c6078);
  font-size: 0.72rem;
}

.discussion-time {
  margin-left: auto;
}

.discussion-post-body {
  width: min(100%, 72ch);
  padding: 12px 16px 8px 59px;
  color: var(--forum-text, #f5edf8);
  font-size: clamp(1rem, .97rem + .12vw, 1.06rem);
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.discussion-post-body > :first-child { margin-top: 0; }
.discussion-post-body > :last-child { margin-bottom: 0; }

.discussion-post-actions {
  gap: 6px;
  padding: 8px 12px 12px 53px;
  border-top: 1px solid var(--gallery-border, rgba(255,255,255,.06));
  flex-wrap: wrap;
}

.discussion-post-action {
  min-width: 38px;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: rgba(255,255,255,.02);
  color: var(--gallery-text-secondary, #a68fb8);
  font-size: 0.76rem;
}

.discussion-post-action:hover,
.discussion-post-action.is-active {
  border-color: color-mix(in srgb, var(--discussion-accent) 45%, transparent);
  background: var(--discussion-accent-soft);
  color: var(--discussion-accent);
}
.discussion-post-action:focus-visible { outline: 2px solid var(--discussion-accent); outline-offset: 2px; }

.discussion-post-editor {
  margin: 8px 14px 10px 53px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--discussion-accent) 38%, transparent);
  border-radius: 6px;
  background: color-mix(in srgb, var(--discussion-accent-soft) 55%, transparent);
}

.discussion-post-editor > label {
  display: block;
  margin-bottom: 9px;
  color: var(--discussion-accent);
  font-size: 0.78rem;
  font-weight: 800;
}

.discussion-post-editor .lexical-editor-wrapper {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 180px;
}

.discussion-post-editor .lexical-toolbar {
  max-width: 100%;
  overflow-x: auto;
}

.discussion-post-editor-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  min-height: 44px;
  padding-top: 10px;
}

.discussion-post-editor-actions [role="alert"] {
  margin-right: auto;
  color: var(--discussion-danger);
  font-size: 0.8rem;
}

.discussion-post-editor-actions button {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid var(--gallery-border-hover, rgba(255, 255, 255, 0.12));
  border-radius: 5px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.discussion-post-editor-actions .discussion-submit {
  border-color: transparent;
  background: var(--discussion-accent-strong);
  color: #fff;
}

.discussion-post.is-editing > .discussion-post-body,
.discussion-post.is-editing > .discussion-post-actions,
.discussion-post.is-editing > .discussion-attachment,
.discussion-post.is-editing > .discussion-revisions {
  display: none;
}

.discussion-composer {
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid var(--gallery-border, rgba(255, 255, 255, 0.06));
}

.discussion-reply-context {
  align-items: center;
  justify-content: space-between;
  min-height: 32px;
  padding: 0 10px;
  border-radius: 6px 6px 0 0;
  background: var(--discussion-accent-soft);
  color: var(--discussion-accent);
  font-size: 0.78rem;
  font-weight: 700;
}

.discussion-reply-context:not([hidden]) { display: flex; }
.discussion-reply-context button { border: 0; background: transparent; color: inherit; cursor: pointer; }
.discussion-wiki-note { display:inline-flex;align-items:center;gap:5px;margin-top:4px;color:var(--forum-primary,#d96bff);font-size:.68rem;font-weight:700; }
.discussion-wiki-note[hidden] { display:none; }

.discussion-composer-tools { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;color:var(--forum-text-muted,#8f8198);font-size:.75rem; }
.discussion-composer-tools button,.discussion-poll-builder button { border:1px solid currentColor;border-radius:5px;padding:7px 10px;color:inherit;background:transparent;cursor:pointer; }
.discussion-poll-builder { margin-top:10px;padding:14px;border-left:3px solid var(--forum-primary,#d96bff);background:rgba(255,255,255,.035); }
.discussion-poll-builder label { display:grid;gap:5px;margin-bottom:10px;font-size:.78rem;font-weight:700; }
.discussion-poll-builder input[type="text"],.discussion-poll-builder input[type="datetime-local"],.discussion-poll-builder select { width:100%;padding:9px;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:inherit;background:rgba(0,0,0,.18); }
.discussion-poll-builder input[type="datetime-local"] { color-scheme:dark; }
.discussion-poll-builder select option { color:#111827;background:#fff; }
.discussion-poll-builder [data-poll-options] { display:grid;gap:7px;margin-bottom:9px; }
.discussion-poll-option-input { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px; }
.discussion-poll-option-input button { width:38px;padding:0; }
.discussion-poll-builder-actions { display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px; }
.discussion-poll-builder-actions [role="alert"] { margin-right:auto;color:var(--discussion-danger);font-size:.78rem; }
.discussion-check { display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;margin-top:10px; }
.discussion-poll { margin:16px 0;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(255,255,255,.03); }
.discussion-poll fieldset { min-width:0;margin:0;padding:0;border:0; }
.discussion-poll legend { margin:0 0 5px;padding:0;font-size:1rem;font-weight:800; }
.discussion-poll-instruction { margin:0 0 12px;color:var(--forum-text-muted,#8f8198);font-size:.76rem; }
.discussion-poll-options { display:grid;gap:7px; }
.discussion-poll-options label { position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:inherit;cursor:pointer; }
.discussion-poll-options label i { position:absolute;z-index:-1;inset:0 auto 0 0;width:var(--poll-percent);background:rgba(217,107,255,.14); }
.discussion-poll-options label.is-selected { border-color:var(--forum-primary,#d96bff); }
.discussion-poll-options input { accent-color:var(--forum-primary,#d96bff); }
.discussion-poll-options strong { font-size:.78rem;white-space:nowrap; }
.discussion-poll-options small { color:var(--forum-text-muted,#8f8198);font-weight:600; }
.discussion-poll-footer { display:flex;align-items:center;gap:10px;margin-top:12px;color:var(--forum-text-muted,#8f8198);font-size:.76rem; }
.discussion-poll-footer [role="alert"] { margin-left:auto;color:var(--discussion-danger); }
.discussion-poll-footer button,.discussion-poll-footer a { min-height:34px;margin-left:auto;padding:7px 12px;border:1px solid var(--discussion-accent);border-radius:5px;color:var(--discussion-accent);background:transparent;font:inherit;font-weight:800;text-decoration:none;cursor:pointer; }
.discussion-poll-footer button:disabled { cursor:wait;opacity:.6; }
.discussion-poll-manage { margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1); }
.discussion-poll-manage summary { color:var(--discussion-accent);font-size:.76rem;font-weight:800;cursor:pointer; }
.discussion-poll-manage form { display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr) minmax(160px,1fr);gap:9px;margin-top:10px; }
.discussion-poll-manage label { display:grid;gap:4px;color:var(--forum-text-muted,#8f8198);font-size:.7rem;font-weight:700; }
.discussion-poll-manage input,.discussion-poll-manage select { min-width:0;padding:8px;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:inherit;background:rgba(0,0,0,.18); }
.discussion-poll-manage form > div { grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px; }
.discussion-poll-manage button { padding:7px 10px;border:1px solid var(--discussion-accent);border-radius:4px;color:var(--discussion-accent);background:transparent;cursor:pointer; }
.discussion-poll-manage button.is-danger { border-color:var(--discussion-danger);color:var(--discussion-danger); }
.discussion-poll-manage [role="alert"] { grid-column:1/-1;color:var(--discussion-danger);font-size:.76rem; }
.discussion-permalink { margin-left:auto;color:inherit;opacity:.45;text-decoration:none; }
.discussion-reputation { color:var(--forum-text-muted,#8f8198);font-size:.68rem; }
.discussion-author-badges { display:flex;align-items:center;gap:5px;margin:2px 0 9px;padding-left:44px; }
.discussion-author-badges span { padding:2px 6px;border:1px solid rgba(217,107,255,.25);border-radius:999px;color:var(--forum-primary,#d96bff);font-size:.62rem;text-transform:capitalize; }
.discussion-author-badges small { margin-left:auto;color:var(--forum-text-muted,#8f8198);font-size:.62rem; }
.discussion-post.is-collapsed .discussion-post-body,.discussion-post.is-collapsed .discussion-attachment,.discussion-post.is-collapsed .discussion-revisions { display:none; }
.discussion-attachment { display:flex;align-items:center;gap:8px;margin:8px 0;padding:9px;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:inherit;text-decoration:none; }
.discussion-attachment span { margin-left:auto;color:var(--forum-text-muted,#8f8198);font-size:.7rem; }
.discussion-revisions { margin:10px 0;padding:12px;border-left:2px solid var(--forum-primary,#d96bff);font-size:.78rem; }
.discussion-revisions > div { margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08); }
.discussion-revisions time { display:block;color:var(--forum-text-muted,#8f8198); }
.article-discussion-handoff { margin-top:28px;padding:22px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:rgba(255,255,255,.035); }
.article-discussion-handoff h2 { margin:5px 0 8px;font-size:1.3rem; }
.article-discussion-handoff form { display:inline; }
.article-discussion-handoff form button { border:0;padding:0;color:var(--forum-primary,#d96bff);background:transparent;font:inherit;font-weight:700;cursor:pointer; }
.article-discussion-label { color:var(--forum-primary,#d96bff);font-size:.7rem;font-weight:800;text-transform:uppercase; }
.content-preference { display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem; }
.content-preference button { border:1px solid rgba(255,255,255,.14);border-radius:4px;padding:7px 10px;color:inherit;background:transparent;cursor:pointer; }
.content-preference button.is-active { border-color:var(--forum-primary,#d96bff);color:var(--forum-primary,#d96bff);background:rgba(217,107,255,.1); }

.discussion-composer .lexical-editor-wrapper {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 150px;
}

.discussion-composer .lexical-toolbar {
  max-width: 100%;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.discussion-composer .lexical-toolbar .toolbar-group {
  min-width: max-content;
  max-width: none;
  flex: 0 0 auto;
  overflow: visible;
  scroll-snap-align: start;
}

.discussion-composer .lexical-toolbar .toolbar-more {
  flex: 0 0 auto;
}

.discussion-composer-actions {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 10px;
}

.discussion-composer-actions [role="alert"] {
  color: var(--discussion-danger);
  font-size: 0.8rem;
}

.discussion-submit {
  min-height: 38px;
  padding: 0 15px;
  background: var(--discussion-accent-strong);
  color: #fff;
  font-weight: 800;
}

.discussion-submit:disabled { cursor: wait; opacity: 0.6; }

:root.site-light .universal-discussion {
  --discussion-accent: #087f69;
  --discussion-accent-strong: #087f69;
  --discussion-accent-soft: rgba(8, 127, 105, 0.1);
}

@media (max-width: 680px) {
  .universal-discussion { margin-top: 34px; }
  .discussion-heading { align-items: center; }
  .discussion-heading h2 { font-size: 1.35rem; }
  .discussion-post { margin-left: min(calc(var(--reply-depth, 0) * 12px), 36px); }
  .discussion-post-body { padding-left: 14px; }
  .discussion-post-actions { padding-left: 8px; }
  .discussion-post-editor { margin-left: 12px; margin-right: 12px; padding: 10px; }
  .discussion-post-editor-actions { align-items: stretch; flex-direction: column; }
  .discussion-post-editor-actions [role="alert"] { margin-right: 0; }
  .discussion-post-editor-actions button { width: 100%; }
  .discussion-poll-builder-actions,.discussion-poll-footer { align-items:stretch;flex-direction:column; }
  .discussion-poll-builder-actions [role="alert"],.discussion-poll-footer [role="alert"] { margin:0; }
  .discussion-poll-builder-actions button,.discussion-poll-footer button,.discussion-poll-footer a { width:100%;margin-left:0;text-align:center; }
  .discussion-role { display: none; }
  .discussion-poll-manage form { grid-template-columns:1fr; }
}
