.ppxTopicEditControl {
	list-style: none;
}

.ppxTopicEditControl > a,
.ppxTopicEditControl > button,
.ppxTopicEditControl__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 4px !important;
	text-decoration: none !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font: inherit !important;
	cursor: pointer !important;
	width: auto;
	height: auto;
	min-width: 0;
	min-height: 0;
	appearance: none;
	-webkit-appearance: none;
}

.ppxTopicEditControl > a,
.ppxTopicEditControl > button,
.ppxTopicEditControl__link {
	border-radius: var(--i-border-radius_box, 7px) !important;
	padding: 0.45em 0.65em !important;
	margin-block: -0.45em !important;
	line-height: 1.2 !important;
	transition: background-color .1s ease, color .1s ease, box-shadow .1s ease, transform .1s ease !important;
}

.ppxTopicEditControl:hover > a,
.ppxTopicEditControl:hover > button,
.ppxTopicEditControl > a:hover,
.ppxTopicEditControl > button:hover,
.ppxTopicEditControl > a:focus-visible,
.ppxTopicEditControl > button:focus-visible,
.ppxTopicEditControl__link:hover,
.ppxTopicEditControl__link:focus-visible {
	background-color: rgba(255,255,255,.09) !important;
	background-color: var(--i-background_hover, rgba(255,255,255,.09)) !important;
	color: var(--i-color-primary, #4da3ff) !important;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.14) !important;
	text-decoration: none !important;
	outline: 0 !important;
}

.ppxTopicEditControl > a:active,
.ppxTopicEditControl > button:active,
.ppxTopicEditControl__link:active {
	background-color: rgba(255,255,255,.14) !important;
	transform: translateY(1px);
}

.ppxTopicEditControl .fa-spinner,
.ppxTopicEditControl .fa-spin,
.ppxTopicEditControl .ipsLoading {
	animation: none !important;
}

/* Recovery for earlier builds: never hide the real IPS 5 ellipsis-menu Edit item. */
.ppxTopicEditNativeMenuDuplicate,
article[data-ips-hook="postWrapper"] :is(.iDropdown__items,.ipsMenu_items,[popover]) :is(li,[role="menuitem"]):has(:is(a,button)[data-action="editComment"]),
article[data-ips-hook="postWrapper"] :is(.iDropdown__items,.ipsMenu_items,[popover]) :is(li,[role="menuitem"]):has(a[href*="do=editComment"]) {
	display: revert !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

article[data-ips-hook="postWrapper"] :is(.iDropdown__items,.ipsMenu_items,[popover]) :is(a,button)[data-action="editComment"],
article[data-ips-hook="postWrapper"] :is(.iDropdown__items,.ipsMenu_items,[popover]) a[href*="do=editComment"] {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

@media (min-width: 980px) {
	html:not(.ppxTopicEditDesktopEnabled) .ppxTopicEditControl {
		display: none !important;
	}

	html.ppxTopicEditDesktopEnabled:not(.ppxTopicEditDesktopMultiQuoteEnabled) .ppxTopicEditMultiQuote {
		display: none !important;
	}

	.ipsEntry__footer .ipsEntry__controls > li.ppxTopicEditControl {
		display: inline-flex !important;
		align-items: center !important;
		border-radius: var(--i-border-radius_box, 7px) !important;
	}

	.ipsEntry__footer .ipsEntry__controls > li.ppxTopicEditControl > .ppxTopicEditControl__link,
	.ipsEntry__footer .ipsEntry__controls > li.ppxTopicEditControl > :is(a,button)[data-ppx-topic-edit] {
		border-radius: var(--i-border-radius_box, 7px) !important;
		padding: .42em .62em !important;
		margin-block: -.42em !important;
		line-height: 1.2 !important;
		color: var(--i-color_soft, var(--i-color-secondary, currentColor)) !important;
		background: transparent !important;
		min-height: 30px !important;
	}

	.ipsEntry__footer .ipsEntry__controls > li.ppxTopicEditControl:hover > .ppxTopicEditControl__link,
	.ipsEntry__footer .ipsEntry__controls > li.ppxTopicEditControl > .ppxTopicEditControl__link:hover,
	.ipsEntry__footer .ipsEntry__controls > li.ppxTopicEditControl > .ppxTopicEditControl__link:focus-visible,
	.ipsEntry__footer .ipsEntry__controls > li.ppxTopicEditControl:hover > :is(a,button)[data-ppx-topic-edit],
	.ipsEntry__footer .ipsEntry__controls > li.ppxTopicEditControl > :is(a,button)[data-ppx-topic-edit]:hover,
	.ipsEntry__footer .ipsEntry__controls > li.ppxTopicEditControl > :is(a,button)[data-ppx-topic-edit]:focus-visible {
		background-color: rgba(255,255,255,.10) !important;
		background-color: var(--i-background_hover, rgba(255,255,255,.10)) !important;
		color: var(--i-color-primary, #4da3ff) !important;
		box-shadow: inset 0 0 0 1px rgba(255,255,255,.16) !important;
		text-decoration: none !important;
		outline: 0 !important;
	}
}

@media (max-width: 979px) {
	.ppxTopicEditControl,
	.ppxTopicEditControl [data-ppx-topic-edit] {
		display: none !important;
	}

	.ipsEntry__footer.ppxTopicEditFooter {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		row-gap: 0;
		align-items: start;
	}

	.ipsEntry__footer.ppxTopicEditFooter .ipsReact {
		order: 1;
		margin: 0 !important;
		width: 100%;
		max-width: 100%;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px 12px;
		padding: 0 0 12px 0;
		border-bottom: 0 !important;
	}

	.ipsEntry__footer.ppxTopicEditFooter .ipsEntry__controls {
		order: 2;
		width: 100%;
		padding-top: 12px;
		position: relative;
		border-top: 0 !important;
		box-shadow: none;
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 1px;
		font-size: 0.64rem;
	}

	.ipsEntry__footer.ppxTopicEditFooter .ipsEntry__controls::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		border-top: 1px solid rgba(255,255,255,.14);
		transform: translateY(-50%);
		pointer-events: none;
	}

	.ipsEntry__footer.ppxTopicEditFooter .ipsEntry__controls > li.ipsHide {
		display: none !important;
	}

	html.ppxTopicEditMobileEnabled:not(.ppxTopicEditMobileMultiQuoteEnabled) .ipsEntry__footer.ppxTopicEditFooter .ipsEntry__controls > li.ppxTopicEditMultiQuote {
		display: none !important;
	}

	.ipsEntry__footer.ppxTopicEditFooter .ipsEntry__controls > li {
		min-width: 0;
	}

	.ipsEntry__footer.ppxTopicEditFooter .ipsEntry__controls a,
	.ipsEntry__footer.ppxTopicEditFooter .ipsEntry__controls button {
		width: 100%;
		min-height: 28px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 2px;
		padding-inline: 0;
		white-space: nowrap;
	}
}

/* IPS 5 live repair: make the footer shortcut visibly respond on dark and light themes.
   Selectors intentionally omit the specific parent container (.ipsEntry__controls vs
   menu[data-role="commentControls"]) so they match regardless of IPS version. */
@media (min-width: 980px) {
	li.ppxTopicEditControl > .ppxTopicEditControl__link,
	li.ppxTopicEditControl > :is(a,button)[data-ppx-topic-edit="reply"] {
		position: relative !important;
		isolation: isolate !important;
	}

	li.ppxTopicEditControl:hover,
	li.ppxTopicEditControl:focus-within {
		background: transparent !important;
	}

	li.ppxTopicEditControl:hover > .ppxTopicEditControl__link,
	li.ppxTopicEditControl:focus-within > .ppxTopicEditControl__link,
	li.ppxTopicEditControl > .ppxTopicEditControl__link:hover,
	li.ppxTopicEditControl > .ppxTopicEditControl__link:focus-visible,
	li.ppxTopicEditControl:hover > :is(a,button)[data-ppx-topic-edit="reply"],
	li.ppxTopicEditControl:focus-within > :is(a,button)[data-ppx-topic-edit="reply"],
	li.ppxTopicEditControl > :is(a,button)[data-ppx-topic-edit="reply"]:hover,
	li.ppxTopicEditControl > :is(a,button)[data-ppx-topic-edit="reply"]:focus-visible {
		background: var(--i-background_hover, var(--i-hover_background, rgba(128,128,128,.15))) !important;
		color: var(--i-color_primary, var(--i-color-primary, inherit)) !important;
		box-shadow: inset 0 0 0 1px var(--i-border_hover, var(--i-border-hover, rgba(128,128,128,.22))), 0 2px 10px rgba(0,0,0,.10) !important;
		text-decoration: none !important;
		outline: 0 !important;
	}
}

/* IPS 5 live repair: undo older builds that hid the real ellipsis-menu Edit row,
   including popovers mounted outside the article/top-layer DOM. */
:is(.iDropdown__items,.ipsMenu_items,[role="menu"],[popover]) :is(li,[role="menuitem"]).ppxTopicEditNativeMenuDuplicate,
:is(.iDropdown__items,.ipsMenu_items,[role="menu"],[popover]) :is(li,[role="menuitem"]):has(:is(a,button)[data-action="editComment"]),
:is(.iDropdown__items,.ipsMenu_items,[role="menu"],[popover]) :is(li,[role="menuitem"]):has(a[href*="do=editComment"]) {
	display: revert !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

:is(.iDropdown__items,.ipsMenu_items,[role="menu"],[popover]) :is(a,button)[data-action="editComment"],
:is(.iDropdown__items,.ipsMenu_items,[role="menu"],[popover]) a[href*="do=editComment"] {
	display: revert !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}
