.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-status.is-error {
  color: var(--forum-danger, #e68a9f);
}

.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%;
  flex-wrap: wrap;
  overflow: visible;
}

.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-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-initiator { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid rgba(255,255,255,.1);color:var(--forum-text-muted,#a98e9a);font-size:.78rem; }
.discussion-poll-initiator strong { color:var(--forum-text,#f5e8e4); }
.discussion-poll-initiator time::before { content:"\00b7";margin:0 .42rem; }
.discussion-poll-label { color:var(--discussion-accent);font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase; }
.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: wrap;
  overflow: visible;
}

.discussion-composer .lexical-toolbar .toolbar-group {
  min-width: 0;
  max-width: 100%;
  flex: 0 1 auto;
  overflow: visible;
}

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

@media (max-width: 768px) {
  .discussion-composer .lexical-toolbar {
    overflow: visible;
  }

  .discussion-composer .lexical-toolbar .toolbar-group {
    min-width: 0;
    max-width: 100%;
  }
}

.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; }

/* Editorial thread layout: preserve chronology while making parentage explicit. */
.universal-discussion {
  --discussion-accent: var(--forum-primary, #d77b96);
  --discussion-accent-strong: var(--forum-primary, #c95878);
  --discussion-accent-soft: color-mix(in srgb, var(--discussion-accent) 12%, transparent);
  margin-top: 42px;
}

.conversation-op-poll:empty { display:none; }

.discussion-heading {
  align-items: center;
  padding-bottom: 16px;
  border-color: var(--forum-border, rgba(234, 202, 178, .16));
}

.discussion-heading h2 {
  font-family: var(--fl-display, Georgia, serif);
  font-weight: 500;
  letter-spacing: -.02em;
}

.discussion-count {
  min-width: auto;
  height: auto;
  margin-left: 4px;
  border: 0;
  border-radius: 0;
  font: 700 .66rem var(--forum-font-sans, sans-serif);
  vertical-align: 4px;
}

.discussion-command {
  min-height: 32px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  font-size: .74rem;
}

.discussion-command + .discussion-command { margin-left: 14px; }
.discussion-command:hover,
.discussion-command.is-active { border-bottom-color: currentColor; background: transparent; }

.discussion-thread {
  display: block;
  margin-top: 8px;
}

.discussion-post {
  position: relative;
  margin-left: min(calc(var(--reply-depth, 0) * 38px), 114px);
  border: 0;
  border-top: 1px solid var(--forum-border, rgba(234, 202, 178, .14));
  border-radius: 0;
  background: transparent;
  scroll-margin-top: 110px;
  transition: background-color .25s ease;
}

.discussion-post:last-child { border-bottom: 1px solid var(--forum-border, rgba(234, 202, 178, .14)); }
.discussion-post:target { background: color-mix(in srgb, var(--discussion-accent) 6%, transparent); }

.discussion-post.is-threaded::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -23px;
  width: 18px;
  height: 34px;
  border-left: 1px solid color-mix(in srgb, var(--discussion-accent) 48%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--discussion-accent) 48%, transparent);
  border-bottom-left-radius: 9px;
  pointer-events: none;
}

.discussion-post-head {
  gap: 11px;
  padding: 20px 0 0;
}

.discussion-avatar {
  width: 34px;
  height: 34px;
  flex-basis: 34px;
  border: 1px solid color-mix(in srgb, var(--discussion-accent) 35%, transparent);
  background: transparent;
}

.discussion-author-identity { display: grid; min-width: 0; gap: 3px; }
.discussion-author-identity > div:first-child { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.discussion-author { color: var(--forum-text, #fff8ef); font-size: .84rem; text-decoration: none; }
.discussion-role { text-transform: capitalize; }

.discussion-author-badges {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
}

.discussion-author-badges span {
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--forum-text-muted, #a88f9b);
  font-size: .61rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.discussion-author-badges small {
  margin-left: 0;
  color: var(--forum-text-muted, #a88f9b);
  font-size: .61rem;
}

.discussion-post-number {
  margin-left: auto;
  color: var(--discussion-accent);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.discussion-time { margin-left: 3px; white-space: nowrap; }
.discussion-permalink { margin-left: 0; }

.discussion-parent-reference {
  display: grid;
  gap: 3px;
  max-width: 68ch;
  margin: 13px 0 0 45px;
  padding: 8px 12px;
  border-left: 2px solid color-mix(in srgb, var(--discussion-accent) 65%, transparent);
  color: var(--forum-text-muted, #a88f9b);
  background: color-mix(in srgb, var(--discussion-accent) 5%, transparent);
  font-size: .7rem;
  line-height: 1.4;
  text-decoration: none;
}

.discussion-parent-reference span { color: var(--discussion-accent); font-weight: 650; }
.discussion-parent-reference i { margin-right: 5px; transform: rotate(90deg); }
.discussion-parent-reference q { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.discussion-parent-reference q::before,
.discussion-parent-reference q::after { opacity: .55; }
.discussion-parent-reference:hover q { color: var(--forum-text-secondary, #d8c5cb); }

.discussion-post-body {
  width: min(100%, 72ch);
  padding: 15px 0 10px 45px;
  font-family: var(--forum-font-sans, sans-serif);
  font-size: 1rem;
  line-height: 1.72;
}

.discussion-post-actions {
  position: relative;
  align-items: center;
  gap: 16px;
  min-height: 42px;
  padding: 6px 0 17px 45px;
  border-top: 0;
}

.discussion-primary-actions { display: flex; align-items: center; gap: 16px; }

.discussion-post-action,
.discussion-action-menu summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--forum-text-muted, #a88f9b);
  font-size: .7rem;
  font-weight: 700;
  cursor: pointer;
}

.discussion-post-action:hover,
.discussion-post-action.is-active,
.discussion-action-menu summary:hover,
.discussion-action-menu[open] > summary {
  border-color: transparent;
  background: transparent;
  color: var(--discussion-accent);
}

.discussion-action-count,
.discussion-action-menu summary > span {
  color: var(--discussion-accent);
  font-size: .64rem;
}

.discussion-action-menu summary > .discussion-action-label {
  color:inherit;
  font-size:inherit;
}

.discussion-action-menu summary > .discussion-reaction-summary {
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:inherit;
  font-size:inherit;
}

.discussion-reaction-chip {
  display:inline-flex;
  align-items:center;
  gap:2px;
  white-space:nowrap;
}

.discussion-reaction-emoji {
  font-size:.86rem;
  line-height:1;
}

.discussion-reaction-count {
  color:var(--discussion-accent);
  font-size:.64rem;
  font-variant-numeric:tabular-nums;
}

.discussion-action-menu { position: relative; }
.discussion-action-menu summary { list-style: none; }
.discussion-action-menu summary::-webkit-details-marker { display: none; }
.discussion-action-menu > div {
  position: absolute;
  z-index: 20;
  left: 0;
  bottom: calc(100% + 7px);
  display: grid;
  min-width: 175px;
  padding: 7px;
  border: 1px solid var(--forum-border-hover, rgba(234, 202, 178, .24));
  background: var(--forum-surface-raised, #211019);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .28);
}

.discussion-action-menu > div .discussion-post-action {
  width: 100%;
  min-height: 34px;
  padding: 0 9px;
  text-align: left;
}

.discussion-action-menu > div .discussion-post-action:hover { background: var(--discussion-accent-soft); }
.discussion-reaction-menu > div { grid-template-columns: 1fr; }

.discussion-composer {
  margin-top: 36px;
  padding-top: 22px;
  border-color: var(--forum-border, rgba(234, 202, 178, .14));
}

.discussion-composer-heading { margin-bottom: 14px; }
.discussion-composer-heading > span {
  color: var(--discussion-accent);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.discussion-composer-heading h3 {
  margin: 4px 0 0;
  color: var(--forum-text, #fff8ef);
  font: 500 1.35rem/1.1 var(--fl-display, Georgia, serif);
}

.discussion-reply-context {
  min-height: 0;
  margin-bottom: 10px;
  padding: 10px 12px;
  border-left: 2px solid var(--discussion-accent);
  border-radius: 0;
  background: var(--discussion-accent-soft);
}

.discussion-reply-context > div { display: grid; min-width: 0; gap: 3px; }
.discussion-reply-context q {
  overflow: hidden;
  color: var(--forum-text-muted, #a88f9b);
  font-size: .68rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

:root.site-light .universal-discussion {
  --discussion-accent: #a73e61;
  --discussion-accent-strong: #913451;
  --discussion-accent-soft: rgba(167, 62, 97, 0.1);
}

@media (max-width: 680px) {
  .universal-discussion { margin-top: 34px; }
  .discussion-poll-initiator { align-items:flex-start;flex-direction:column;gap:5px; }
  .discussion-heading { align-items: center; }
  .discussion-heading h2 { font-size: 1.35rem; }
  .discussion-post { margin-left: min(calc(var(--reply-depth, 0) * 17px), 34px); }
  .discussion-post.is-threaded::before { left: -12px; width: 9px; }
  .discussion-post-head { align-items: flex-start; flex-wrap: wrap; padding-top: 17px; }
  .discussion-author-identity { flex: 1 1 calc(100% - 48px); }
  .discussion-post-number { order: 4; margin-left: 45px; }
  .discussion-time { order: 5; }
  .discussion-permalink { order: 6; }
  .discussion-parent-reference { margin-left: 0; }
  .discussion-post-body { padding-left: 0; }
  .discussion-post-actions { padding-left: 0; }
  .discussion-action-menu > div { right: 0; left: auto; }
  .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; }
}

/* Blog-to-forum handoff: an editorial callout rather than a boxed widget. */
.article-discussion-handoff {
  position:relative;
  overflow:hidden;
  margin-top:clamp(2rem,5vw,3rem);
  padding:1.35rem 1.5rem 1.45rem;
  border:0;
  border-top:1px solid var(--fl-border,rgba(255,255,255,.12));
  border-right:1px solid var(--fl-border,rgba(255,255,255,.12));
  border-bottom:1px solid var(--fl-border,rgba(255,255,255,.12));
  border-left:2px solid var(--fl-rose,var(--forum-primary,#d96bff));
  border-radius:0 2.4rem 2.4rem 0;
  background:linear-gradient(110deg,rgba(188,62,105,.1),rgba(255,248,239,.018) 58%,transparent);
  box-shadow:none;
}
.article-discussion-handoff::after {
  position:absolute;
  right:-3rem;
  bottom:-4rem;
  width:9rem;
  height:9rem;
  border:1px solid rgba(229,201,145,.12);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.article-discussion-handoff h2 {
  margin:.35rem 0 .55rem;
  color:var(--fl-ivory,var(--forum-text,#fff8ef));
  font:500 clamp(1.55rem,3vw,2rem)/1.05 var(--fl-serif,Georgia,serif);
  letter-spacing:-.02em;
}
.article-discussion-handoff p {
  max-width:46ch;
  margin:.35rem 0 1rem;
  color:var(--fl-secondary,var(--forum-text-muted,#a88f9b));
  line-height:1.65;
}
.article-discussion-handoff > a,
.article-discussion-handoff > form button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:42px;
  padding:.65rem 1rem;
  border:1px solid color-mix(in srgb,var(--fl-rose,var(--forum-primary,#d96bff)) 48%,transparent);
  border-radius:999px;
  background:rgba(188,62,105,.1);
  color:var(--fl-blush,var(--forum-primary,#d96bff));
  font-size:.78rem;
  font-weight:750;
  line-height:1;
  text-decoration:none;
}
.article-discussion-handoff > a:hover,
.article-discussion-handoff > a:focus-visible,
.article-discussion-handoff > form button:hover,
.article-discussion-handoff > form button:focus-visible {
  border-color:var(--fl-rose,var(--forum-primary,#d96bff));
  background:rgba(188,62,105,.18);
  color:var(--fl-ivory,var(--forum-text,#fff8ef));
}

@media (max-width:680px) {
  .article-discussion-handoff {
    width:100%;
    box-sizing:border-box;
    padding:1.2rem 1rem 1.3rem;
    border-radius:0 1.8rem 1.8rem 0;
  }
  .article-discussion-handoff h2 { font-size:1.55rem; }
  .article-discussion-handoff > a,
  .article-discussion-handoff > form,
  .article-discussion-handoff > form button { width:100%; }
}

/* The editor stays mounted when folded, preserving selection and draft text. */
.discussion-reply-disclosure { margin-top: 1.25rem; border-block: 1px solid var(--fl-border); }
.discussion-reply-disclosure > summary { cursor: pointer; padding: 1rem 0; font-weight: 600; color: var(--fl-ivory); }
.discussion-reply-disclosure > summary span { font-size: .8rem; color: var(--fl-secondary); margin-left: .5rem; }
.discussion-reply-disclosure .discussion-composer { border: 0; border-radius: 0; padding: .5rem 0 1rem; margin: 0; background: transparent; }
.discussion-reply-disclosure .discussion-composer-heading { display: none; }
.discussion-reply-disclosure .lexical-content-editable { min-height: 150px; max-height: none; }
.discussion-closed { color: var(--fl-secondary); font-size: .85rem; padding-block: 1rem; }
