/* stylelint-disable no-descending-specificity */

/* State selectors are grouped with their component blocks. */

.xhai-fullpost-toolbar-slot {
	display: flex;
	align-items: center;
	overflow: visible;
}

.xhai-fullpost-toolbar-group {
	--xhai-assistant-height: 32px;
	--xhai-assistant-icon-size: 20px;
	--xhai-assistant-text-color: #7c3aed;
	--xhai-assistant-text-hover: #6d28d9;
	--xhai-assistant-hover-bg: rgba(124, 58, 237, 0.08);
	--xhai-assistant-active-bg: rgba(124, 58, 237, 0.12);
	--xhai-assistant-focus-ring: rgba(124, 58, 237, 0.24);
	margin-left: 10px;
	border: none !important;
	overflow: visible;
}

.xhai-fullpost-toolbar-group.components-toolbar {
	border: none !important;
	overflow: visible;
}

.xhai-fullpost-toolbar-group > div {
	display: flex;
	align-items: center;
	overflow: visible;
}

.xhai-fullpost-toolbar-tip {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.xhai-fullpost-toolbar-tip::before,
.xhai-fullpost-toolbar-tip::after {
	position: absolute;
	left: 50%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 1000001;
	transition:
		opacity 0.16s ease,
		transform 0.16s ease,
		visibility 0.16s ease;
}

.xhai-fullpost-toolbar-tip::before {
	content: "";
	top: calc(100% + 1px);
	transform: translateX(-50%) translateY(-2px);
	border-right: 5px solid transparent;
	border-bottom: 5px solid #0f172a;
	border-left: 5px solid transparent;
}

.xhai-fullpost-toolbar-tip::after {
	content: attr(data-xhai-tooltip);
	top: calc(100% + 6px);
	transform: translateX(-50%) translateY(-3px);
	padding: 7px 10px;
	border-radius: 6px;
	background: #0f172a;
	box-shadow:
		0 8px 22px rgba(15, 23, 42, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
}

.xhai-fullpost-toolbar-tip:hover::before,
.xhai-fullpost-toolbar-tip:hover::after,
.xhai-fullpost-toolbar-tip:focus-within::before,
.xhai-fullpost-toolbar-tip:focus-within::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button {
	width: auto !important;
	min-width: auto !important;
	min-height: var(--xhai-assistant-height) !important;
	height: var(--xhai-assistant-height) !important;
	padding: 0 8px !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--xhai-assistant-text-color) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	outline: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	position: relative;
	overflow: hidden !important;
	letter-spacing: 0 !important;
	text-shadow: none;
	transition:
		background-color 0.15s ease,
		box-shadow 0.15s ease,
		color 0.15s ease;
}

.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button::before {
	display: none !important;
}

.xhai-fullpost-assistant-icon {
	display: block;
	flex: 0 0 var(--xhai-assistant-icon-size);
	width: var(--xhai-assistant-icon-size);
	height: var(--xhai-assistant-icon-size);
	object-fit: contain;
	pointer-events: none;
	user-select: none;
	filter: drop-shadow(0 1px 3px rgba(124, 58, 237, 0.14));
	transform-origin: center;
	transition:
		filter 0.28s ease,
		transform 2s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform;
}

.xhai-fullpost-toolbar-label {
	position: relative;
	z-index: 2;
	display: inline-block;
	max-width: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	background: linear-gradient(90deg, #8b5cf6 0%, #c026d3 52%, #fb7185 100%);
	background-position: 0 50%;
	background-size: 100% 100%;
	background-clip: text;
	color: transparent;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:hover .xhai-fullpost-toolbar-label,
.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:focus-visible .xhai-fullpost-toolbar-label {
	background-image:
 linear-gradient(100deg, #7c3aed 0%, #a21caf 24%, #f0abfc 42%, #fff7ed 50%, #fb7185 58%, #a21caf 76%, #7c3aed 100%);
	background-size: 220% 100%;
	animation:
		xhai-fullpost-toolbar-label-shine 1.08s cubic-bezier(0.16, 1, 0.3, 1)
		both;
}

@keyframes xhai-fullpost-toolbar-label-shine {

	from {
		background-position: 100% 50%;
	}

	to {
		background-position: 0 50%;
	}
}

.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:hover {
	background: transparent !important;
	box-shadow: none !important;
	color: var(--xhai-assistant-text-hover) !important;
}

.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:hover .xhai-fullpost-assistant-icon,
.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:focus-visible .xhai-fullpost-assistant-icon {
	filter: drop-shadow(0 2px 5px rgba(124, 58, 237, 0.2));
	transform: rotate(360deg) scale(1.06);
}

.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:focus-visible {
	box-shadow:
		0 0 0 1px #fff,
		0 0 0 3px var(--xhai-assistant-focus-ring) !important;
}

.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:active {
	background: transparent !important;
}

@media (prefers-reduced-motion: reduce) {

	.xhai-fullpost-assistant-icon {
		transition: filter 0.18s ease;
		will-change: auto;
	}

	.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:hover .xhai-fullpost-assistant-icon,
	.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:focus-visible .xhai-fullpost-assistant-icon {
		transform: none;
	}

	.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:hover .xhai-fullpost-toolbar-label,
	.xhai-fullpost-toolbar-group .xhai-fullpost-toolbar-button.components-button:focus-visible .xhai-fullpost-toolbar-label {
		animation: none;
		background-position: 0 50%;
		background-size: 100% 100%;
	}
}

.xhai-fullpost-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: rgba(15, 23, 42, 0.68);
	animation: xhai-fullpost-overlay-fade-in 0.18s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity;
}

.xhai-fullpost-overlay::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: max(4vh, 64px);
	background: rgba(15, 23, 42, 0.18);
	backdrop-filter: blur(8px) saturate(1.08);
	-webkit-backdrop-filter: blur(8px) saturate(1.08);
	pointer-events: none;
	z-index: 0;
	contain: paint;
	animation: xhai-fullpost-glass-strip-in 0.22s ease-out both;
}

.xhai-fullpost-close {
	position: absolute;
	top: 10px;
	right: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1;
	cursor: pointer;
	transition:
		background-color 0.14s ease,
		color 0.14s ease,
		transform 0.1s ease;
	z-index: 2;
}

.xhai-fullpost-close:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	transform: scale(1.08);
}

.xhai-fullpost-toast {
	position: absolute;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
	padding: 5px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: #ef4444;
	font-size: 12px;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
	z-index: 60;
}

.xhai-fullpost-confirmoverlay {
	position: absolute;
	inset: 0;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(15, 23, 42, 0.18);
	backdrop-filter: blur(6px);
}

.xhai-fullpost-confirmdialog {
	width: min(460px, 100%);
	border-radius: 22px;
	border: 1px solid rgba(226, 232, 240, 0.95);
	background:
		radial-gradient(circle at top right, rgba(59, 130, 246, 0.08), transparent 34%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
	box-shadow: 0 28px 80px rgba(15, 23, 42, 0.24);
	padding: 22px 22px 18px;
}

.xhai-fullpost-confirmcontent {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.xhai-fullpost-confirmeyebrow {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #7c3aed;
}

.xhai-fullpost-confirmtitle {
	margin: 0;
	font-size: 22px;
	line-height: 1.24;
	letter-spacing: -0.02em;
	color: #0f172a;
}

.xhai-fullpost-confirmdescription {
	margin: 0;
	font-size: 14px;
	line-height: 1.75;
	color: #475569;
}

.xhai-fullpost-confirmactions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 18px;
}

.xhai-fullpost-shell {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	height: 96vh;
	border-top: 1px solid rgba(148, 163, 184, 0.18);
	border-top-left-radius: 24px;
	border-top-right-radius: 24px;
	overflow: hidden;
	background:
		radial-gradient(circle at top right, rgba(59, 130, 246, 0.1), transparent 28%),
		linear-gradient(180deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.98));
	animation: xhai-fullpost-slide-up 0.2s cubic-bezier(0.16, 1, 0.3, 1);
	isolation: isolate;
	will-change: transform, opacity;
}

.xhai-fullpost-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 32px;
	border-bottom: 1px solid rgba(148, 163, 184, 0.18);
	background: rgba(255, 255, 255, 0.88);
}

.xhai-fullpost-brandslot,
.xhai-fullpost-tabslot,
.xhai-fullpost-statusslot {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	min-width: 0;
}

.xhai-fullpost-brandslot {
	justify-content: flex-start;
}

.xhai-fullpost-tabslot {
	justify-content: center;
}

.xhai-fullpost-statusslot {
	justify-content: flex-end;
}

.xhai-fullpost-brand {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.xhai-fullpost-brandicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 6px;
	background: none;
	color: #0f172a;
	box-shadow: none;
}

.xhai-fullpost-heading {
	margin: 0;
	font-size: 16px;
	line-height: 1.2;
	font-weight: 600;
	color: #0f172a;
	white-space: nowrap;
	letter-spacing: -0.02em;
}

.xhai-fullpost-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 6px;
	border-radius: 6px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #64748b;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.xhai-fullpost-badge--help {
	cursor: help;
}

.xhai-fullpost-badge--help:focus-visible {
	box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.18);
}

.xhai-fullpost-tabs {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
	border-radius: 8px;
	background: #f1f5f9;
	color: #64748b;
}

.xhai-fullpost-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 0;
	border-radius: 6px;
	padding: 6px 20px;
	background: transparent;
	color: #475569;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition:
		background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
		color 0.15s ease,
		box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.1s ease;
	will-change: background-color, box-shadow;
}

.xhai-fullpost-tab:hover {
	color: #0f172a;
}

.xhai-fullpost-tab.is-active {
	background: #fff;
	color: #0f172a;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.xhai-fullpost-tabicon {
	opacity: 0.6;
	transition:
		opacity 0.2s ease,
		color 0.2s ease;
}

.xhai-fullpost-tabicon.is-blue {
	color: #3b82f6;
}

.xhai-fullpost-tabicon.is-amber {
	color: #f59e0b;
}

.xhai-fullpost-tab.is-active .xhai-fullpost-tabicon {
	opacity: 1;
}

.xhai-fullpost-translatefield {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid rgba(226, 232, 240, 0.95);
}

.xhai-fullpost-translatefield .xhai-fullpost-dropdowntrigger {
	width: 100%;
	border-color: #e2e8f0;
	background: #fff;
}

.xhai-fullpost-translatehint {
	margin: 0;
	font-size: 12px;
	line-height: 1.5;
	color: #64748b;
}

.xhai-fullpost-translaterow {
	display: flex;
	align-items: center;
	gap: 12px;
}

.xhai-fullpost-translaterow .xhai-fullpost-dropdown {
	flex: 1;
	min-width: 0;
}

.xhai-fullpost-translaterow .xhai-fullpost-primarybutton {
	flex-shrink: 0;
}

.xhai-fullpost-status {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	font-size: 12px;
	font-weight: 500;
	color: #64748b;
	min-width: 0;
	white-space: nowrap;
}

.xhai-fullpost-statusdot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #10b981;
	box-shadow: 0 0 8px rgba(16, 185, 129, 0.4);
}

.xhai-fullpost-status--language {
	max-width: 100%;
	gap: 6px;
}

.xhai-fullpost-statustext {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
}

.xhai-fullpost-statushelp {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	color: #94a3b8;
	cursor: help;
	outline: none;
	transition:
		color 0.18s ease,
		background-color 0.18s ease;
}

.xhai-fullpost-statushelp:hover,
.xhai-fullpost-statushelp:focus-visible {
	background: rgba(59, 130, 246, 0.08);
	color: #2563eb;
}

.xhai-fullpost-statustooltip {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	width: min(280px, calc(100vw - 40px));
	padding: 10px 12px;
	border-radius: 10px;
	background: rgba(15, 23, 42, 0.96);
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.2);
	color: #e2e8f0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.6;
	white-space: normal;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition:
		opacity 0.18s ease,
		transform 0.18s ease,
		visibility 0.18s ease;
	pointer-events: none;
	z-index: 15;
}

.xhai-fullpost-statustooltip::before {
	content: "";
	position: absolute;
	right: 16px;
	bottom: 100%;
	border-width: 6px;
	border-style: solid;
	border-color: transparent transparent rgba(15, 23, 42, 0.96) transparent;
}

.xhai-fullpost-statushelp:hover .xhai-fullpost-statustooltip,
.xhai-fullpost-statushelp:focus-visible .xhai-fullpost-statustooltip {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.xhai-fullpost-statusnotice {
	display: block;
	min-width: 0;
	max-width: 100%;
	align-items: center;
	gap: 6px;
	padding: 3px 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	white-space: normal;
	overflow-wrap: anywhere;
	animation: xhai-fullpost-fade-in 0.18s ease-out;
}

.xhai-fullpost-statusnotice.is-success {
	background: #d1fae5;
	color: #065f46;
}

.xhai-fullpost-statusnotice.is-error {
	background: #fee2e2;
	color: #991b1b;
}

.xhai-fullpost-statusnotice.is-warning {
	background: #fef3c7;
	color: #92400e;
}

.xhai-fullpost-statusnotice.is-info {
	background: #dbeafe;
	color: #1e40af;
}

.xhai-fullpost-body {
	flex: 1;
	min-height: 0;
	padding: 20px 24px 24px;
	overflow: hidden;
	overflow-y: auto;
}

.xhai-fullpost-panel,
.xhai-fullpost-stage,
.xhai-fullpost-targetbody {
	display: flex;
	flex-direction: column;
	gap: 18px;
	min-height: 0;
}

.xhai-fullpost-panel {
	position: relative;
	height: 100%;
	overflow: hidden;
}

.xhai-fullpost-stage {
	height: 100%;
}

.xhai-fullpost-stage--intro {
	justify-content: flex-start;
	padding-top: 50px;
	overflow-y: auto;
}

.xhai-fullpost-stagehead,
.xhai-fullpost-stagebar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 48px;
	padding: 4px 0;
}

.xhai-fullpost-stagehead {
	justify-content: center;
	padding-bottom: 6px;
}

.xhai-fullpost-stageframe {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 18px;
	width: 100%;
	max-width: 960px;
	min-height: 0;
	margin: 0 auto;
}

.xhai-fullpost-stepnavwrap {
	display: flex;
	align-items: center;
}

.xhai-fullpost-stepnav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	width: auto;
}

.xhai-fullpost-stepitem {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #94a3b8;
	transition: color 0.2s ease;
}

.xhai-fullpost-stepcount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 999px;
	border: 1px solid #e2e8f0;
	background: #fff;
	font-size: 11px;
	font-weight: 500;
	transition:
		background-color 0.16s ease,
		border-color 0.16s ease,
		color 0.16s ease,
		box-shadow 0.16s ease;
}

.xhai-fullpost-stepitem.is-active {
	color: #0f172a;
}

.xhai-fullpost-stepitem.is-active .xhai-fullpost-stepcount {
	border-color: #0f172a;
	background: #0f172a;
	color: #fff;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18);
}

.xhai-fullpost-stepitem.is-passed {
	color: #1e293b;
}

.xhai-fullpost-stepitem.is-passed .xhai-fullpost-stepcount {
	border-color: #0f172a;
	background: #0f172a;
	color: #fff;
}

.xhai-fullpost-stepitem.is-passed .xhai-fullpost-steplabel {
	color: #1e293b;
}

.xhai-fullpost-steplabel {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: -0.01em;
}

.xhai-fullpost-stepconnector {
	display: block;
	width: 20px;
	height: 2px;
	margin: 0 2px;
	border-radius: 999px;
	background: #cbd5e1;
}

.xhai-fullpost-stepitem.is-active .xhai-fullpost-steplabel {
	font-weight: 400;
	color: #1e293b;
}

.xhai-fullpost-formcard,
.xhai-fullpost-sourcecard,
.xhai-fullpost-targetcard,
.xhai-fullpost-thinking,
.xhai-fullpost-editor.is-card {
	border: 1px solid rgba(226, 232, 240, 0.92);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

.xhai-fullpost-formcard {
	display: flex;
	flex-direction: column;
	gap: 22px;
	max-width: 860px;
	margin: 0 auto;
	padding: 28px 30px;
}

.xhai-fullpost-buttontext-desktop {
	display: inline-flex;
}

.xhai-fullpost-formcard--write {
	width: 100%;
}

.xhai-fullpost-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.xhai-fullpost-fieldlabel {
	font-size: 13px;
	font-weight: 600;
	color: #0f172a;
}

.xhai-fullpost-labelrow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.xhai-fullpost-labelrow--stackable {
	align-items: flex-start;
}

.xhai-fullpost-labelrow--withpreset {
	align-items: center;
	gap: 16px;
}

.xhai-fullpost-label-group {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1;
	min-width: 0;
}

.xhai-fullpost-inlinehint {
	font-size: 12px;
	line-height: 1.55;
	color: #64748b;
}

.xhai-fullpost-formtip {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 9px 14px;
	border: 1px solid #c7d2fe;
	border-radius: 8px;
	background: #eef2ff;
	color: #4338ca;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.55;
	text-align: center;
}

.xhai-fullpost-instructionpreset {
	flex: 0 0 auto;
	align-self: center;
	width: max-content;
	min-width: 0;
}

.xhai-fullpost-instructionpreset .xhai-fullpost-dropdown {
	width: auto;
	min-width: 0;
}

.xhai-fullpost-input,
.xhai-fullpost-textarea {
	width: 100%;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	background: transparent;
	color: #0f172a;
	font-size: 14px;
	line-height: 1.65;
	box-sizing: border-box;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition:
		border-color 0.15s cubic-bezier(0.4, 0, 0.2, 1),
		background 0.15s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}

.xhai-fullpost-input {
	padding: 8px 14px !important;
	border: 1px solid #e2e8f0 !important;
}

.xhai-fullpost-topicinputwrap {
	position: relative;
	display: flex;
	align-items: center;
}

.xhai-fullpost-topicinput {
	padding-right: 122px !important;
}

.xhai-fullpost-topicbutton {
	position: absolute;
	right: 10px;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 26px;
	padding: 0 12px;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	background: #f8fafc;
	color: #64748b;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
	transform: translateY(-50%);
	transition:
		border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
		background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
		color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	cursor: pointer;
}

.xhai-fullpost-topicbutton:hover {
	border-color: #cbd5e1;
	background: #f1f5f9;
	color: #475569;
	box-shadow: 0 2px 4px rgba(15, 23, 42, 0.06);
	transform: translateY(-50%) scale(1.03);
}

.xhai-fullpost-topicbutton.is-active {
	border-color: #0f172a;
	background: #0f172a;
	color: #fff;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.2);
	transform: translateY(-50%) scale(1.03);
}

.xhai-fullpost-topicbutton.is-active:hover {
	background: #1e293b;
	border-color: #1e293b;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25);
}

.xhai-fullpost-topicbutton-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 1.5px solid currentcolor;
	opacity: 0.45;
	flex-shrink: 0;
}

.xhai-fullpost-textarea {
	min-height: 96px;
	padding: 12px 14px;
	resize: none;
	overflow: hidden;
}

.xhai-fullpost-input:hover,
.xhai-fullpost-textarea:hover {
	border-color: #cbd5e1;
}

.xhai-fullpost-input:focus,
.xhai-fullpost-textarea:focus {
	outline: none;
	border-color: #94a3b8;
	box-shadow: none;
}

.xhai-fullpost-input:focus {
	border-color: #94a3b8 !important;
}

.xhai-fullpost-editorcontent:focus {
	outline: none;
	border-color: transparent;
	box-shadow: none;
}

.xhai-fullpost-settings {
	padding: 20px;
	border-radius: 8px;
	background: rgba(248, 250, 252, 0.85);
	border: 1px solid rgba(226, 232, 240, 0.9);
}

.xhai-fullpost-settingshead {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
}

.xhai-fullpost-settingskicker {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: #334155;
	text-transform: uppercase;
}

.xhai-fullpost-settingscontrols {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px;
}

.xhai-fullpost-settingsdivider {
	width: 1px;
	height: 36px;
	background: #e2e8f0;
}

.xhai-fullpost-settingsselect {
	display: flex;
	align-items: center;
	min-width: 0;
}

.xhai-fullpost-settingscontrols .xhai-fullpost-dropdowntrigger,
.xhai-fullpost-settingscontrols .xhai-fullpost-featurebtn {
	gap: 7px;
}

.xhai-fullpost-quickconfig-icon {
	display: block;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	transition: color 0.16s ease;
}

.xhai-fullpost-settingssummary {
	margin-top: 14px;
	font-size: 12px;
	line-height: 1.6;
	color: #64748b;
}

.xhai-fullpost-switch {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
}

.xhai-fullpost-switch:hover:not(.is-disabled) .xhai-fullpost-switchlabel {
	color: #1e293b;
}

.xhai-fullpost-switch.is-disabled {
	cursor: not-allowed;
	opacity: 0.58;
}

.xhai-fullpost-switchtrack {
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	width: 36px;
	height: 20px;
	margin-top: 1px;
	padding: 2px;
	border-radius: 999px;
	background: #cbd5e1;
	transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.xhai-fullpost-switch.is-on .xhai-fullpost-switchtrack {
	background: #0f172a;
}

.xhai-fullpost-switchthumb {
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.16);
	transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
	will-change: transform;
}

.xhai-fullpost-switch.is-on .xhai-fullpost-switchthumb {
	transform: translateX(16px);
}

.xhai-fullpost-switchmeta {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.xhai-fullpost-switchheading {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.xhai-fullpost-switchlabel {
	font-size: 13px;
	font-weight: 500;
	color: #475569;
	transition: color 0.18s ease;
}

.xhai-fullpost-switch.is-on .xhai-fullpost-switchlabel {
	color: #0f172a;
}

.xhai-fullpost-switchhint {
	font-size: 12px;
	line-height: 1.5;
	color: #64748b;
}

.xhai-fullpost-dropdown {
	position: relative;
	width: auto;
	min-width: 0;
}

.xhai-fullpost-dropdowntrigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	box-sizing: border-box;
	min-height: 36px;
	padding: 6px 12px;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	font-size: 13px;
	font-weight: 400;
	color: #475569;
	text-align: left;
	cursor: pointer;
	box-shadow: none;
	transition:
		background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
		border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1),
		color 0.15s ease;
	will-change: background-color, border-color;
}

.xhai-fullpost-dropdowntriggerinner {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.xhai-fullpost-dropdownvalue {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.xhai-fullpost-dropdown:not(.is-disabled) .xhai-fullpost-dropdowntrigger:hover {
	border-color: #e2e8f0;
	background: #f8fafc;
	color: #0f172a;
}

.xhai-fullpost-dropdowntrigger:focus-visible {
	outline: none;
	border-color: #0f172a;
	background: #fff;
	box-shadow: 0 0 0 1px #0f172a;
}

.xhai-fullpost-dropdown.is-open .xhai-fullpost-dropdowntrigger {
	border-color: #e2e8f0;
	background: #f1f5f9;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
	color: #0f172a;
}

.xhai-fullpost-dropdownchevron {
	color: #94a3b8;
	transition:
		transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
		color 0.15s ease;
	will-change: transform;
}

.xhai-fullpost-dropdown.is-open .xhai-fullpost-dropdownchevron {
	transform: rotate(180deg);
}

.xhai-fullpost-dropdown.is-disabled .xhai-fullpost-dropdowntrigger {
	cursor: not-allowed;
	opacity: 0.58;
}

.xhai-fullpost-dropdownmenu {
	position: fixed;
	top: 0;
	left: 0;
	width: auto;
	min-width: 160px;
	box-sizing: border-box;
	max-width: calc(100vw - 32px);
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 6px 0;
	border: 1px solid rgba(226, 232, 240, 1);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
	transform-origin: top center;
	animation: xhai-fullpost-scale-in 0.18s cubic-bezier(0.16, 1, 0.3, 1);
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	will-change: transform, opacity;
}

.xhai-fullpost-dropdownoption {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 8px 16px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #475569;
	font-size: 13px;
	font-weight: 400;
	text-align: left;
	cursor: pointer;
	white-space: nowrap;
	transition:
		background 0.12s ease,
		color 0.12s ease;
}

.xhai-fullpost-dropdownlabel {
	flex: 1;
	min-width: 0;
}

.xhai-fullpost-dropdownmeta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.xhai-fullpost-dropdownoption:hover,
.xhai-fullpost-dropdownoption.is-selected {
	background: #f8fafc;
	color: #0f172a;
}

.xhai-fullpost-dropdownoption.is-selected {
	font-weight: 400;
}

.xhai-fullpost-dropdowncheck {
	color: #0f172a;
}

.xhai-fullpost-dropdown-tooltip-anchor {
	display: flex;
	width: 100%;
}

.xhai-fullpost-dropdown--capsule .xhai-fullpost-dropdowntrigger {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 32px;
	min-height: 32px;
	padding: 0 14px;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	background: #fff;
	color: #64748b;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.xhai-fullpost-dropdown--capsule .xhai-fullpost-dropdowntriggerinner {
	gap: 6px;
}

.xhai-fullpost-dropdown--capsule .xhai-fullpost-dropdownchevron {
	color: currentcolor;
	opacity: 0.72;
}

.xhai-fullpost-dropdown--capsule:not(.is-disabled)
.xhai-fullpost-dropdowntrigger:hover {
	background: #f8fafc;
	color: #475569;
	border-color: #cbd5e1;
}

.xhai-fullpost-dropdown--capsule .xhai-fullpost-dropdowntrigger:focus-visible {
	border-color: #cbd5e1;
	background: #fff;
	box-shadow:
		0 0 0 1px rgba(148, 163, 184, 0.18),
		0 0 0 4px rgba(148, 163, 184, 0.12);
}

.xhai-fullpost-dropdown--capsule.is-open .xhai-fullpost-dropdowntrigger {
	background: #f8fafc;
	color: #475569;
	border-color: #cbd5e1;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.xhai-fullpost-dropdown--rect .xhai-fullpost-dropdowntrigger {
	height: 36px;
	min-height: 36px;
	padding: 0 16px;
	border-radius: 6px;
	border: none;
	box-shadow: none;
}

.xhai-fullpost-instructionpreset .xhai-fullpost-dropdowntrigger {
	height: 30px;
	min-height: 30px;
	gap: 6px;
	min-width: 88px;
	padding: 0 8px;
	border: 1px solid #e2e8f0;
	background: #fff;
	box-shadow: none;
	color: #475569;
	font-size: 12px;
	font-weight: 600;
}

.xhai-fullpost-instructionpreset .xhai-fullpost-dropdowntriggerinner {
	gap: 6px;
}

.xhai-fullpost-dropdownmenu--instructionpreset {
	min-width: 88px;
}

.xhai-fullpost-dropdownmenu--instructionpreset .xhai-fullpost-dropdownoption {
	gap: 8px;
	padding: 8px 12px;
}

.xhai-fullpost-instructionpreset
.xhai-fullpost-dropdown:not(.is-disabled)
.xhai-fullpost-dropdowntrigger:hover,
.xhai-fullpost-instructionpreset
.xhai-fullpost-dropdown.is-open
.xhai-fullpost-dropdowntrigger {
	border-color: #cbd5e1;
	background: #f8fafc;
	color: #0f172a;
	box-shadow: none;
}

.xhai-fullpost-dropdown--capsule.is-active.is-emerald
.xhai-fullpost-dropdowntrigger {
	border-color: #a7f3d0;
	color: #047857;
	background: #d1fae5;
}

.xhai-fullpost-dropdown--capsule.is-active.is-indigo
.xhai-fullpost-dropdowntrigger {
	border-color: #c7d2fe;
	color: #4338ca;
	background: #e0e7ff;
}

.xhai-fullpost-dropdown--capsule.is-active.is-blue
.xhai-fullpost-dropdowntrigger {
	border-color: #bfdbfe;
	color: #1d4ed8;
	background: #dbeafe;
}

.xhai-fullpost-dropdown--capsule.is-active.is-purple
.xhai-fullpost-dropdowntrigger {
	border-color: #ddd6fe;
	color: #6d28d9;
	background: #ede9fe;
}

.xhai-fullpost-dropdown--capsule.is-active .xhai-fullpost-btnicon {
	color: currentcolor;
}

.xhai-fullpost-optionbadge {
	padding: 2px 8px;
	border-radius: 999px;
	background: #e2e8f0;
	font-size: 11px;
	font-weight: 600;
	color: #475569;
}

.xhai-fullpost-dropdownmenu--modelselector .xhai-fullpost-optionbadge {
	padding: 1px 6px;
	font-size: 10px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
}

.xhai-fullpost-formfooter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.xhai-fullpost-modelselector {
	flex: 0 0 auto;
	min-width: 0;
	max-width: 240px;
}

.xhai-fullpost-modelselector .xhai-fullpost-dropdown {
	width: auto;
	max-width: 240px;
}

.xhai-fullpost-modelselector .xhai-fullpost-dropdowntrigger {
	width: auto;
	max-width: 240px;
}

.xhai-fullpost-styleselector {
	flex: 0 0 auto;
	min-width: 0;
}

.xhai-fullpost-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.xhai-fullpost-primarybutton,
.xhai-fullpost-secondarybutton,
.xhai-fullpost-tertiarybutton,
.xhai-fullpost-textbutton,
.xhai-fullpost-iconbutton,
.xhai-fullpost-toolbutton,
.xhai-fullpost-titleitem {
	border: 0;
	cursor: pointer;
	transition:
		background-color 0.18s cubic-bezier(0.4, 0, 0.2, 1),
		color 0.15s ease,
		border-color 0.15s ease,
		box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.12s cubic-bezier(0.34, 1.56, 0.64, 1),
		opacity 0.15s ease;
}

.xhai-fullpost-primarybutton,
.xhai-fullpost-secondarybutton,
.xhai-fullpost-tertiarybutton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 36px;
	padding: 8px 16px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

.xhai-fullpost-primarybutton:focus-visible,
.xhai-fullpost-secondarybutton:focus-visible,
.xhai-fullpost-tertiarybutton:focus-visible,
.xhai-fullpost-iconbutton:focus-visible {
	outline: none;
	box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.16);
}

.xhai-fullpost-primarybutton:focus-visible,
.xhai-fullpost-secondarybutton:focus-visible,
.xhai-fullpost-tertiarybutton:focus-visible,
.xhai-fullpost-toolbutton:focus-visible {
	box-shadow:
		0 0 0 2px #fff,
		0 0 0 4px #3b82f6;
}

/* Feature Toggle Button (Shadcn Style) */
.xhai-fullpost-featurebtn-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.xhai-fullpost-featurebtn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 32px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 400;
	color: #64748b;
	background: #fff;
	border: 1px solid #e2e8f0;
	cursor: pointer;
	transition:
		background-color 0.16s ease,
		border-color 0.16s ease,
		color 0.16s ease,
		box-shadow 0.16s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.xhai-fullpost-featurebtn:hover {
	background: #f8fafc;
	color: #475569;
	border-color: #cbd5e1;
}

.xhai-fullpost-featurebtn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.xhai-fullpost-featurebtn.is-active {
	background: #f8fafc;
}

/* Emerald (自动配图) */
.xhai-fullpost-featurebtn.is-active.is-emerald {
	border-color: #a7f3d0;
	color: #047857;
	background: #d1fae5;
}

.xhai-fullpost-featurebtn.is-active.is-emerald .xhai-fullpost-featurebtn-check {
	color: #10b981;
	fill: #10b981;
	stroke: #fff;
}

/* Sky (允许外链) */
.xhai-fullpost-featurebtn.is-active.is-sky {
	border-color: #bae6fd;
	color: #0369a1;
	background: #e0f2fe;
}

.xhai-fullpost-featurebtn.is-active.is-sky .xhai-fullpost-featurebtn-check {
	color: #0ea5e9;
	fill: #0ea5e9;
	stroke: #fff;
}

/* Indigo (联网搜索) */
.xhai-fullpost-featurebtn.is-active.is-indigo {
	border-color: #c7d2fe;
	color: #4338ca;
	background: #e0e7ff;
}

.xhai-fullpost-featurebtn.is-active.is-indigo .xhai-fullpost-featurebtn-check {
	color: #6366f1;
	fill: #6366f1;
	stroke: #fff;
}

/* Blue (default fallback) */
.xhai-fullpost-featurebtn.is-active.is-blue {
	border-color: #bfdbfe;
	color: #1d4ed8;
	background: #dbeafe;
}

.xhai-fullpost-featurebtn.is-active.is-blue .xhai-fullpost-featurebtn-check {
	color: #3b82f6;
	fill: #3b82f6;
	stroke: #fff;
}

.xhai-fullpost-featurebtn.is-rect {
	height: 36px;
	border-radius: 6px;
	padding: 0 16px;
	border: none;
	box-shadow: none;
}

.xhai-fullpost-featurebtn-check {
	transition:
		color 0.16s ease,
		fill 0.16s ease,
		stroke 0.16s ease;
}

.xhai-fullpost-featurebtn-icon {
	color: #64748b;
	transition: color 0.16s ease;
}

.xhai-fullpost-featurebtn.is-active .xhai-fullpost-featurebtn-icon {
	color: currentcolor;
}

.xhai-fullpost-primarybutton {
	background: #0f172a;
	color: #f8fafc;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

.xhai-fullpost-primarybutton:hover {
	background: rgba(15, 23, 42, 0.92);
}

.xhai-fullpost-secondarybutton {
	background: #fff;
	color: #0f172a;
	box-shadow:
		inset 0 0 0 1px #e2e8f0,
		0 1px 2px rgba(15, 23, 42, 0.04);
}

.xhai-fullpost-secondarybutton:hover {
	background: #f8fafc;
	color: #0f172a;
}

.xhai-fullpost-titleopt-trigger,
.xhai-fullpost-titleopt-trigger:hover {
	background: #fff;
	color: #0f172a;
	box-shadow:
		inset 0 0 0 1px #e2e8f0,
		0 1px 2px rgba(15, 23, 42, 0.04);
}

.xhai-fullpost-titleopt-trigger:disabled,
.xhai-fullpost-titleopt-trigger.is-loading {
	opacity: 1 !important;
	background: #f8fafc;
	color: #64748b;
	box-shadow:
		inset 0 0 0 1px #cbd5e1,
		0 1px 2px rgba(15, 23, 42, 0.04);
	cursor: wait;
}

.xhai-fullpost-secondarybutton--sm {
	min-height: 30px;
	padding: 0 10px;
	border-radius: 9px;
	font-size: 12px;
}

.xhai-fullpost-primarybutton--sm {
	min-height: 30px;
	padding: 0 10px;
	border-radius: 9px;
	font-size: 12px;
}

.xhai-fullpost-translatesource {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.xhai-fullpost-translatesource-label {
	font-size: 12px;
	color: #64748b;
}

.xhai-fullpost-translatesourcebtn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	border-radius: 6px;
	border: 1px solid #e2e8f0;
	background: #fff;
	color: #64748b;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.15s ease;
}

.xhai-fullpost-translatesourcebtn:hover {
	border-color: #cbd5e1;
	background: #f8fafc;
}

.xhai-fullpost-translatesourcebtn.is-active {
	background: #eff6ff;
	border-color: #93c5fd;
	color: #2563eb;
}

.xhai-fullpost-tertiarybutton {
	background: transparent;
	color: #475569;
}

.xhai-fullpost-tertiarybutton:hover {
	background: #f1f5f9;
	color: #0f172a;
}

.xhai-fullpost-primarybutton:active,
.xhai-fullpost-secondarybutton:active,
.xhai-fullpost-tertiarybutton:active,
.xhai-fullpost-textbutton:active,
.xhai-fullpost-iconbutton:active,
.xhai-fullpost-toolbutton:active,
.xhai-fullpost-titleitem:active,
.xhai-fullpost-tab:active {
	transform: translateY(1px);
}

.xhai-fullpost-btnicon {
	flex-shrink: 0;
}

.xhai-fullpost-btnicon.is-slate {
	color: #64748b;
}

.xhai-fullpost-btnicon.is-blue {
	color: #3b82f6;
}

.xhai-fullpost-btnicon.is-amber {
	color: #f59e0b;
}

.xhai-fullpost-btnicon.is-violet {
	color: #c4b5fd;
}

.xhai-fullpost-btnicon.is-emerald {
	color: #10b981;
}

.xhai-fullpost-btnicon.is-sky {
	color: #0ea5e9;
}

.xhai-fullpost-btnicon.is-purple {
	color: #8b5cf6;
}

.xhai-fullpost-btnicon.is-indigo {
	color: #6366f1;
}

.xhai-fullpost-btnicon.is-spinning {
	animation: xhai-fullpost-spin 1s linear infinite;
	transform-box: fill-box;
	transform-origin: center;
	will-change: transform;
}

.xhai-fullpost-spinner {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid currentcolor;
	border-top-color: transparent;
	border-radius: 50%;
	animation: xhai-fullpost-spin 0.8s linear infinite;
	flex-shrink: 0;
	vertical-align: middle;
}

.xhai-fullpost-spinner.is-indigo {
	color: #6366f1;
}

.xhai-fullpost-spinner.is-amber {
	color: #f59e0b;
}

.xhai-fullpost-btnicon-spin {
	animation: xhai-fullpost-spin 0.8s linear infinite;
	flex-shrink: 0;
}

.xhai-fullpost-primarybutton.is-busy,
.xhai-fullpost-secondarybutton.is-busy {
	pointer-events: none;
	opacity: 0.85;
}

.xhai-fullpost-primarybutton.is-danger {
	background: #dc2626;
	color: #fff;
}

.xhai-fullpost-primarybutton.is-danger:hover {
	background: #b91c1c;
}

.xhai-fullpost-textbutton {
	padding: 0;
	background: transparent;
	color: #2563eb;
	font-size: 12px;
	font-weight: 600;
}

.xhai-fullpost-iconbutton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border-radius: 6px;
	background: transparent;
	color: #64748b;
}

.xhai-fullpost-iconbutton:hover {
	background: #f1f5f9;
	color: #0f172a;
}

.xhai-fullpost-primarybutton:disabled,
.xhai-fullpost-secondarybutton:disabled,
.xhai-fullpost-tertiarybutton:disabled,
.xhai-fullpost-iconbutton:disabled,
.xhai-fullpost-toolbutton:disabled {
	opacity: 0.48;
	cursor: not-allowed;
}

.xhai-fullpost-titleopt {
	position: relative;
}

.xhai-fullpost-titlepanel {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: 360px;
	max-width: min(360px, calc(100vw - 48px));
	padding: 10px;
	border: 1px solid rgba(203, 213, 225, 0.9);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 20px 44px rgba(15, 23, 42, 0.14);
	z-index: 25;
	animation: xhai-fullpost-slide-down 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.xhai-fullpost-titlepanelhead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}

.xhai-fullpost-titlepaneltitle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #334155;
	font-size: 13px;
	font-weight: 600;
}

.xhai-fullpost-titlepanelactions {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}

.xhai-fullpost-titlebatchbtn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 28px;
	padding: 0 9px;
	border: 1px solid rgba(99, 102, 241, 0.24);
	border-radius: 999px;
	background: rgba(238, 242, 255, 0.86);
	color: #4338ca;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition:
		background-color 0.14s ease,
		border-color 0.14s ease,
		color 0.14s ease,
		transform 0.1s ease;
}

.xhai-fullpost-titlebatchbtn:hover {
	border-color: rgba(99, 102, 241, 0.48);
	background: #eef2ff;
	color: #3730a3;
}

.xhai-fullpost-titlelist {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.xhai-fullpost-titleitem {
	display: flex;
	align-items: baseline;
	gap: 6px;
	width: 100%;
	padding: 8px 10px;
	border-radius: 8px;
	border: 1px solid transparent;
	background: #f8fafc;
	color: #1e293b;
	text-align: left;
	font-size: 12px;
	line-height: 1.5;
}

.xhai-fullpost-titleitem:hover {
	border-color: #c7d2fe;
	background: #eef2ff;
	color: #4f46e5;
}

.xhai-fullpost-titleindex {
	flex-shrink: 0;
	color: #64748b;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
}

.xhai-fullpost-titleempty,
.xhai-fullpost-titleerror {
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.6;
}

.xhai-fullpost-titleempty {
	background: #f8fafc;
	color: #475569;
}

.xhai-fullpost-titleempty--loading {
	display: flex;
	align-items: center;
	gap: 8px;
}

.xhai-fullpost-titleerror {
	background: #fff1f2;
	color: #be123c;
}

.xhai-fullpost-thinking {
	padding: 14px 18px;
	background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
	box-shadow: none;
	overflow: hidden;
	transition:
		opacity 0.18s cubic-bezier(0.4, 0, 0.2, 1),
		max-height 0.18s cubic-bezier(0.4, 0, 0.2, 1),
		margin 0.18s cubic-bezier(0.4, 0, 0.2, 1),
		padding 0.18s cubic-bezier(0.4, 0, 0.2, 1);
	max-height: 420px;
	will-change: opacity, max-height, margin, padding;
}

.xhai-fullpost-thinking.is-collapsing {
	opacity: 0;
	max-height: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	pointer-events: none;
}

.xhai-fullpost-thinkinghead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 4px;
}

.xhai-fullpost-thinkingmeta {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

.xhai-fullpost-searchtip-inline {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(14, 165, 233, 0.08);
	border: 1px solid rgba(14, 165, 233, 0.18);
	color: #0284c7;
	font-size: 11px;
	font-weight: 600;
}

.xhai-fullpost-thinkingtitle {
	display: flex;
	align-items: center;
	gap: 7px;
	color: #334155;
	font-size: 13px;
	font-weight: 500;
}

.xhai-fullpost-thinkingdot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #6366f1;
	box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.4);
	animation: xhai-fullpost-pulse 2s infinite;
}

.xhai-fullpost-thinkingbadge {
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(99, 102, 241, 0.1);
	color: #4338ca;
	font-size: 11px;
	font-weight: 500;
}

.xhai-fullpost-thinkingbody {

	/*
		 * 5 lines: font-size 12px * line-height 1.54 ≈ 18.5px/line
		 * → 5 × 18.5 = 92px.
		 */
	height: calc(12px * 1.54 * 5);
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px dashed #e2e8f0;
	overflow: hidden;
	color: #94a3b8;
	font-size: 12px;
	line-height: 1.54;
	white-space: pre-wrap;
	word-break: break-all;

	/* No scrollbar visible at all */
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.xhai-fullpost-thinkingbody.is-pending {
	display: flex;
	align-items: center;
	gap: 8px;
	height: auto;
	min-height: 44px;
	padding-top: 0;
	border-top: 0;
	color: #64748b;
}

.xhai-fullpost-thinkingbody::-webkit-scrollbar {
	display: none;
}

.xhai-fullpost-thinkingcursor {
	display: inline-block;
	width: 2px;
	height: 12px;
	margin-left: 2px;
	border-radius: 99px;
	background: #6366f1;
	vertical-align: middle;
	animation: xhai-fullpost-blink 1s step-end infinite;
}

/* ── 思维链内联网搜索 tips 条 ── */
.xhai-fullpost-searchtip {
	margin-top: 6px;
}

.xhai-fullpost-searchtip-inner {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 10px;
	border-radius: 6px;
	background: #f0f9ff;
	border: 1px solid #bae6fd;
}

.xhai-fullpost-pendingtitle-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	margin: 0 0 10px;
	border-radius: 10px;
	background: rgba(139, 92, 246, 0.06);
	border: 1px solid rgba(139, 92, 246, 0.15);
	font-size: 14px;
}

.xhai-fullpost-pendingtitle-bar strong {
	color: #6d28d9;
	font-weight: 600;
}

.xhai-fullpost-pendingtitle-label {
	font-size: 12px;
	color: #8b5cf6;
	background: rgba(139, 92, 246, 0.1);
	padding: 2px 8px;
	border-radius: 4px;
	font-weight: 600;
}

.xhai-fullpost-searchtip-stack {
	display: inline-flex;
	align-items: center;
}

.xhai-fullpost-searchtip-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	border: 1.5px solid #bae6fd;
	color: #0ea5e9;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.xhai-fullpost-searchtip-text {
	font-size: 11px;
	color: #0ea5e9;
	font-weight: 500;
}

/* ── 联网搜索聚合胶囊（编辑器标题栏弹窗） ── */
.xhai-fullpost-searchagg {
	position: relative;
	display: inline-flex;
	margin-top: 0;
}

.xhai-fullpost-searchagg-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px 5px 8px;
	border-radius: 999px;
	border: 1px solid #e2e8f0;
	background: #fff;
	font-size: 12px;
	color: #475569;
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.xhai-fullpost-searchagg-pill:hover {
	background: #f8fafc;
	border-color: #cbd5e1;
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06);
	transform: translateY(-1px);
}

.xhai-fullpost-searchagg-stack {
	display: inline-flex;
	align-items: center;
}

.xhai-fullpost-searchagg-favicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	font-size: 9px;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	flex-shrink: 0;
	border: 2px solid #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.xhai-fullpost-searchagg-favicon--more {
	background: #e2e8f0 !important;
	color: #64748b;
	font-size: 8px;
	font-weight: 600;
}

.xhai-fullpost-searchagg-text {
	font-size: 12px;
	color: #334155;
	font-weight: 500;
}

.xhai-fullpost-searchagg-chevron {
	color: #94a3b8;
	flex-shrink: 0;
}

.xhai-fullpost-searchagg-panel {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 50;
	width: 320px;
	max-height: 360px;
	overflow-y: auto;
	margin-top: 0;
	padding: 12px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #e2e8f0;
	box-shadow:
		0 10px 30px rgba(0, 0, 0, 0.1),
		0 2px 8px rgba(0, 0, 0, 0.06);
}

.xhai-fullpost-searchagg-panel.is-floating {
	position: fixed;
	top: 0;
	right: auto;
	z-index: 100010;
	margin-top: 0;
}

.xhai-fullpost-searchagg-panelhead {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 500;
	color: #64748b;
	margin-bottom: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid #e2e8f0;
}

.xhai-fullpost-searchagg-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
	overflow-x: hidden;
}

.xhai-fullpost-searchagg-item {
	padding: 6px 8px;
	border-radius: 6px;
	background: #fff;
	border: 1px solid #e2e8f0;
	transition: border-color 0.15s ease;
	overflow: hidden;
}

.xhai-fullpost-searchagg-item:hover {
	border-color: #cbd5e1;
}

.xhai-fullpost-searchagg-link {
	display: flex;
	align-items: flex-start;
	gap: 5px;
	width: 100%;
	min-width: 0;
	font-size: 12px;
	font-weight: 500;
	color: #2563eb;
	text-decoration: none;
	line-height: 1.4;
}

.xhai-fullpost-searchagg-link:hover {
	text-decoration: underline;
}

.xhai-fullpost-searchagg-linktitle {
	display: -webkit-box;
	min-width: 0;
	overflow: hidden;
	overflow-wrap: anywhere;
	text-overflow: ellipsis;
	white-space: normal;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.xhai-fullpost-searchagg-snippet {
	margin: 4px 0 0;
	font-size: 11px;
	line-height: 1.5;
	color: #64748b;
	display: -webkit-box;
	overflow: hidden;
	overflow-wrap: anywhere;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.xhai-fullpost-editor {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	overflow: hidden;
}

.xhai-fullpost-editor.is-ghost {
	border: none;
	background: transparent;
	margin: 0 -18px -18px; /* Push to the edge of the padding wrapper, bottom flush */
	border-radius: 0;
}

.xhai-fullpost-editor.is-ghost .xhai-fullpost-editorcontent {

	/*
		 * Extra padding keeps the text aligned with nearby elements despite
		 * the negative margin.
		 */
	padding: 16px 36px 50px;
}

.xhai-fullpost-editor.is-ghost
.xhai-fullpost-editorbody.has-footer
.xhai-fullpost-editorcontent {
	padding-bottom: 84px;
}

.xhai-fullpost-editorhead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 18px;
	border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.xhai-fullpost-editoractions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.xhai-fullpost-editorheading {
	display: flex;
	align-items: baseline;
	flex-wrap: nowrap;
	gap: 10px;
	color: #0f172a;
	min-width: 0;
	flex: 1;
}

.xhai-fullpost-editorheading strong {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 380px;
	font-size: 15px;
}

.xhai-fullpost-editorbadge {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	border-radius: 4px;
	border: 1px solid rgba(139, 92, 246, 0.25);
	background: rgba(139, 92, 246, 0.06);
	color: #6d28d9;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.02em;
	white-space: nowrap;
	flex-shrink: 0;
}

/* hint — pushed right inside flex heading row */
.xhai-fullpost-editorhint {
	margin-left: auto;
	flex-shrink: 0;
	font-size: 12px;
	color: #94a3b8;
	white-space: nowrap;
}

.xhai-fullpost-editorhint--busy {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #dc2626;
	font-weight: 600;
}

.xhai-fullpost-editorhint--busy::before {
	content: "";
	width: 10px;
	height: 10px;
	border: 2px solid currentcolor;
	border-top-color: transparent;
	border-radius: 999px;
	animation: xhai-fullpost-spin 0.8s linear infinite;
	flex-shrink: 0;
}

.xhai-fullpost-editortoolbar {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	display: inline-flex;
	flex-wrap: nowrap;
	gap: 2px;
	padding: 4px;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	border-radius: 10px;
	border: 1px solid rgba(203, 213, 225, 0.85);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
	animation: xhai-fullpost-fade-in 0.15s ease-out;
	pointer-events: auto;
	white-space: nowrap;
}

.xhai-fullpost-editorbody.has-footer .xhai-fullpost-editortoolbar {
	bottom: 136px;
}

.xhai-fullpost-toolbutton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	padding: 0;
	border-radius: 6px;
	background: transparent;
	color: #64748b;
	font-size: 12px;
	font-weight: 500;
	transition:
		background 0.12s ease,
		color 0.12s ease,
		transform 0.12s ease;
	border: none;
	outline: none;
}

.xhai-fullpost-toolbutton:hover {
	background: #e2e8f0;
	color: #0f172a;
	transform: scale(1.08);
}

.xhai-fullpost-toolbutton.is-active {
	background: #0f172a;
	color: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.2);
}

.xhai-fullpost-toolbutton.is-active:hover {
	background: #1e293b;
	color: #fff;
	transform: scale(1.08);
}

.xhai-fullpost-toolbutton[data-tooltip] {
	position: relative;
}

.xhai-fullpost-toolbutton[data-tooltip]::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: calc(100% + 6px);
	left: 50%;
	transform: translateX(-50%) scale(0.95);
	padding: 4px 8px;
	border-radius: 6px;
	background: #1e293b;
	color: #fff;
	font-size: 11px;
	font-weight: 500;
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.15s ease,
		visibility 0.15s ease,
		transform 0.15s ease;
	pointer-events: none;
	z-index: 20;
}

.xhai-fullpost-toolbutton[data-tooltip]:hover::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) scale(1);
}

.xhai-fullpost-editorbody {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;

	/* No padding so scrollbar sits flush to the edge */
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.xhai-fullpost-editorbody.has-footer {
	background: linear-gradient(180deg, transparent 0%, rgba(248, 250, 252, 0.75) 100%);
}

.xhai-fullpost-editorscroll {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	-webkit-overflow-scrolling: touch;
	position: relative;
	scrollbar-width: thin;
	scrollbar-color: rgba(148, 163, 184, 0.5) transparent;
}

.xhai-fullpost-editorscroll::-webkit-scrollbar {
	width: 5px;
}

.xhai-fullpost-editorscroll::-webkit-scrollbar-track {
	background: transparent;
	border-radius: 0;
}

.xhai-fullpost-editorscroll::-webkit-scrollbar-thumb {
	background: rgba(148, 163, 184, 0.45);
	border-radius: 999px;
}

.xhai-fullpost-editorscroll::-webkit-scrollbar-thumb:hover {
	background: rgba(100, 116, 139, 0.7);
}

.xhai-fullpost-titlefield {
	padding: 18px 18px 0;
}

.xhai-fullpost-editortopslot {
	padding: 10px 18px 0;
}

.xhai-fullpost-titleinputwrap {
	position: relative;
}

.xhai-fullpost-titleinput {
	display: block;
	width: 100%;
	padding: 6px 84px 6px 12px;
	border-radius: 10px;
	border: none;
	background: transparent;
	color: #0f172a;
	font-size: 28px;
	line-height: 1.3;
	font-weight: 700;
	outline: none;
	box-shadow: none;
	transition: background-color 0.16s ease;
	resize: none;
	overflow: hidden;
	field-sizing: content;
}

.xhai-fullpost-titleinput::placeholder {
	color: #94a3b8;
}

.xhai-fullpost-titleinput:hover {
	background: transparent;
}

.xhai-fullpost-titleinput:focus,
.xhai-fullpost-titleinput:focus-visible {
	background: transparent;
	outline: none;
	box-shadow: none;
	border: none;
}

.xhai-fullpost-titleinputbadge {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	padding: 3px 8px;
	border-radius: 999px;
	background: rgba(139, 92, 246, 0.1);
	color: #7c3aed;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	pointer-events: none;
}

.xhai-fullpost-articletitles {
	display: grid;
	gap: 12px;
	min-width: 0;
	margin: 16px 16px 0;
	padding: 12px 16px 12px;
	border: 1px solid rgba(226, 232, 240, 0.8);
	border-bottom: 0;
	border-radius: 20px 20px 0 0;
	background: #fff;
	box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.04);
	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease;
}

.xhai-fullpost-articletitles:focus-within {
	border-color: #cbd5e1;
	box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
}

.xhai-fullpost-articletitles-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-width: 0;
	min-height: 26px;
}

.xhai-fullpost-articletitles-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #4f46e5;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}

.xhai-fullpost-articletitles-label svg {
	color: #6366f1;
}

.xhai-fullpost-articletitles-label span {
	color: #4f46e5;
	background: linear-gradient(90deg, #4f46e5 0%, #2563eb 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.xhai-fullpost-articletitles-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	min-width: 0;
}

.xhai-fullpost-articletitlechip {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	box-sizing: border-box;
	height: 34px;
	min-height: 34px;
	max-width: min(100%, 360px);
	padding: 6px 14px 6px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	background: #fff;
	color: #64748b;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
	box-shadow: none;
	transition:
		border-color 0.16s ease,
		background-color 0.16s ease,
		color 0.16s ease;
}

.xhai-fullpost-articletitlechip:hover:not(:disabled) {
	border-color: #a5b4fc;
	background: rgba(238, 242, 255, 0.45);
	color: #4338ca;
}

.xhai-fullpost-articletitlechip:focus,
.xhai-fullpost-articletitlechip:focus-visible {
	outline: none;
	border-color: #818cf8;
	box-shadow:
		0 0 0 2px #fff,
		0 0 0 4px rgba(99, 102, 241, 0.18);
}

.xhai-fullpost-articletitlechip.is-selected {
	border-color: #818cf8;
	background: #eef2ff;
	color: #3730a3;
	font-weight: 500;
	box-shadow: none;
}

.xhai-fullpost-articletitlechip.is-selected:hover:not(:disabled) {
	border-color: #6366f1;
	background: #eef2ff;
	color: #312e81;
}

.xhai-fullpost-articletitlechip-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	border-radius: 999px;
	color: currentcolor;
	opacity: 1;
}

.xhai-fullpost-articletitlechip-icon::before {
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: #cbd5e1;
	content: "";
}

.xhai-fullpost-articletitlechip.is-selected .xhai-fullpost-articletitlechip-icon {
	color: #6366f1;
}

.xhai-fullpost-articletitlechip.is-selected .xhai-fullpost-articletitlechip-icon::before {
	background: #6366f1;
}

.xhai-fullpost-articletitlechip-icon svg {
	display: none;
}

.xhai-fullpost-articletitlechip-text {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

.xhai-fullpost-articletitles-restore {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
	flex: 0 0 auto;
	width: 50px;
	height: 26px;
	min-height: 26px;
	padding: 0 2px;
	border: 0;
	background: transparent;
	color: #818cf8;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition:
		color 0.16s ease,
		opacity 0.16s ease;
}

.xhai-fullpost-articletitles-restore:hover:not(:disabled) {
	color: #4f46e5;
}

.xhai-fullpost-articletitles-restore:focus,
.xhai-fullpost-articletitles-restore:focus-visible {
	outline: none;
	border-radius: 6px;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.16);
}

.xhai-fullpost-articletitles-restore:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

.xhai-fullpost-articletitles-restore.is-placeholder {
	visibility: hidden;
	pointer-events: none;
}

.xhai-fullpost-articletitlechip:disabled {
	cursor: not-allowed;
	opacity: 0.6;
}

.xhai-fullpost-editorplaceholder {
	position: absolute;
	inset: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px dashed rgba(148, 163, 184, 0.45);
	border-radius: 14px;
	color: #94a3b8;
	font-size: 14px;
	text-align: center;
	pointer-events: none;
}

.xhai-fullpost-editorplaceholder.has-titlefield {
	top: 86px;
}

.xhai-fullpost-editorplaceholder.has-topslot {
	top: 148px;
}

.xhai-fullpost-editorplaceholder.has-titlefield.has-topslot {
	top: 208px;
}

.xhai-fullpost-editorcontent {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	min-height: 340px;

	/* Inner padding so text doesn't hug the scrollbar */
	padding: 28px 28px 50px; /* reserve room for floating editor tools */
}

.xhai-fullpost-titlefield + .xhai-fullpost-editorcontent {
	min-height: 260px;
	padding-top: 18px;
}

.xhai-fullpost-outlinetitles {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 12px;
	margin-top: 10px;
	border: 1px solid rgba(226, 232, 240, 0.9);
	border-radius: 10px;
	background: #eef1f5;
}

.xhai-fullpost-outlinetitles-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 0 2px;
}

.xhai-fullpost-outlinetitles-title-wrap {
	display: flex;
	align-items: center;
	gap: 6px;
}

.xhai-fullpost-outlinetitles-head strong {
	font-size: 13px;
	font-weight: 600;
	color: #0f172a;
}

.xhai-fullpost-outlinetitles-head span {
	font-size: 11px;
	color: #94a3b8;
}

.xhai-fullpost-outlinetitles-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.xhai-fullpost-outlinetitleoption {
	position: relative;
	border-radius: 8px;
	background: #fff;
	border: 1px solid rgba(226, 232, 240, 0.7);
	cursor: pointer;
	transition:
		border-color 0.1s ease,
		box-shadow 0.1s ease;
	outline: none;
}

.xhai-fullpost-outlinetitleoption:focus,
.xhai-fullpost-outlinetitleoption:focus-visible {
	outline: none;
}

.xhai-fullpost-outlinetitleoption:hover {
	border-color: rgba(139, 92, 246, 0.25);
}

.xhai-fullpost-outlinetitleoption.is-selected {
	border-color: rgba(139, 92, 246, 0.5);
	box-shadow: 0 1px 4px rgba(139, 92, 246, 0.08);
}

.xhai-fullpost-outlinetitleoption-inner {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
}

.xhai-fullpost-outlinetitleoption-indicator {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	flex-shrink: 0;
	outline: none;
}

.xhai-fullpost-outlinetitleoption-indicator:focus,
.xhai-fullpost-outlinetitleoption-indicator:focus-visible {
	outline: none;
}

.xhai-fullpost-outlinetitleoption-circle {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 1.5px solid #cbd5e1;
	background: #fff;
	box-sizing: border-box;
	transition: border-color 0.1s ease;
}

.xhai-fullpost-outlinetitleoption:hover .xhai-fullpost-outlinetitleoption-circle {
	border-color: rgba(139, 92, 246, 0.4);
}

.xhai-fullpost-outlinetitleoption-icon {
	color: #cbd5e1;
	transition: color 0.1s ease;
}

.xhai-fullpost-outlinetitleoption-icon.is-active {
	color: #8b5cf6;
}

.xhai-fullpost-outlinetitleoption-text {
	flex: 1;
	color: #334155;
	font-size: 13px;
	line-height: 1.5;
	font-weight: 500;
	cursor: pointer;
	user-select: none;
}

.xhai-fullpost-outlinetitleoption.is-selected .xhai-fullpost-outlinetitleoption-text {
	font-weight: 600;
	color: #1e1b4b;
}

.xhai-fullpost-editorcontent.is-streaming {
	opacity: 0.78;
	pointer-events: none;
}

.xhai-fullpost-editorcontent.is-readonly {
	pointer-events: none;
}

.xhai-fullpost-editorfooter {
	flex: 0 0 auto;
	padding: 0;
	background: transparent;
}

.xhai-fullpost-followupinput {
	flex: 1;
	width: 100%;
	min-width: 0;
	min-height: 40px;
	max-height: 120px;
	padding: 8px 8px;
	margin: 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
	color: #0f172a;
	font-size: 14px;
	line-height: 1.6;
	box-shadow: none !important;
	resize: none;
}

.xhai-fullpost-followupinput:focus,
.xhai-fullpost-followupinput:focus-visible {
	outline: none !important;
	box-shadow: none !important;
	border: 0 !important;
}

.xhai-fullpost-followupinput:disabled {
	color: #94a3b8;
	cursor: not-allowed;
}

.xhai-fullpost-followupinput::placeholder {
	color: #94a3b8;
}

.xhai-fullpost-followupactions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding-top: 4px;
}

.xhai-fullpost-followupactions-left {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	min-width: 0;
}

.xhai-fullpost-followupbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	border: 0;
	border-radius: 16px;
	background: transparent;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition:
		background-color 0.16s ease,
		color 0.16s ease,
		transform 0.16s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.xhai-fullpost-followupbtn.is-undo {
	padding: 0 12px;
	gap: 6px;
	color: #64748b;
}

.xhai-fullpost-followupbtn.is-undo:hover:not(:disabled) {
	background: #f1f5f9;
	color: #0f172a;
}

.xhai-fullpost-followupbtn.is-undo:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.xhai-fullpost-followupbtn.is-send {
	width: 32px;
	padding: 0;
	border-radius: 50%;
	background: #0f172a;
	color: #fff;
}

.xhai-fullpost-followupbtn.is-send:hover:not(:disabled) {
	background: #1e293b;
	transform: scale(1.05);
}

.xhai-fullpost-followupbtn.is-send:active:not(:disabled) {
	transform: scale(0.95);
}

.xhai-fullpost-followupbtn.is-send:disabled {
	background: #cbd5e1;
	color: #fff;
	cursor: not-allowed;
	transform: scale(1);
}

.xhai-fullpost-followupbtn.is-send.is-busy {
	background: #ef4444;
	color: #fff;
}

.xhai-fullpost-followupbtn.is-send.is-busy:hover:not(:disabled) {
	background: #dc2626;
}

.xhai-fullpost-dialogoverlay {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(15, 23, 42, 0.4);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

.xhai-fullpost-dialogcard {
	width: min(420px, 100%);
	padding: 24px;
	border: 1px solid rgba(226, 232, 240, 0.9);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.15);
	animation: xhai-fullpost-slide-down 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.xhai-fullpost-dialoghead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.xhai-fullpost-dialogtitle {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #0f172a;
	font-size: 16px;
	font-weight: 600;
	margin: 0;
}

.xhai-fullpost-dialogbody {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.xhai-fullpost-dialogdesc {
	color: #475569;
	font-size: 14px;
	line-height: 1.6;
	margin: 0;
}

.xhai-fullpost-dialogactions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}

.xhai-fullpost-preserved-imagehint {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 92px;
	margin: 16px 0;
	padding: 18px 20px;
	border: 1px dashed #cbd5e1;
	border-radius: 14px;
	background: linear-gradient(180deg, #f8fafc, #f1f5f9);
	color: #64748b;
	font-size: 13px;
	font-weight: 500;
	text-align: center;
}

.xhai-fullpost-infobar,
.xhai-fullpost-errorbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 12px 18px;
	border-radius: 12px;
	font-size: 13px;
	line-height: 1.6;
}

.xhai-fullpost-errorbar-text {
	flex: 1;
	min-width: 0;
}

.xhai-fullpost-infobar-text {
	flex: 1;
	min-width: 0;
}

.xhai-fullpost-infobar {
	background: #d2f9f6;
	color: #065f46;
}

.xhai-fullpost-errorbar {
	background: #fff1f2;
	color: #be123c;
}

.xhai-fullpost-streamstate {
	box-sizing: border-box;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 16px 20px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
	border: 1px solid rgba(226, 232, 240, 0.8);
}

.xhai-fullpost-streamstate.is-error {
	background: linear-gradient(135deg, rgba(255, 241, 242, 0.7), rgba(255, 255, 255, 0.9));
	border-color: rgba(251, 113, 133, 0.2);
}

.xhai-fullpost-streamstate.is-preparing {
	background: linear-gradient(135deg, rgba(238, 242, 255, 0.7), rgba(255, 255, 255, 0.9));
	border-color: rgba(129, 140, 248, 0.18);
}

.xhai-fullpost-streamstateicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	flex: 0 0 auto;
}

.xhai-fullpost-streamstate.is-error .xhai-fullpost-streamstateicon {
	background: rgba(254, 226, 226, 0.7);
	color: #e11d48;
}

.xhai-fullpost-streamstate.is-preparing .xhai-fullpost-streamstateicon {
	background: rgba(224, 231, 255, 0.7);
	color: #4f46e5;
}

.xhai-fullpost-streamstatebody {
	display: flex;
	flex: 1;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}

.xhai-fullpost-streamstatetitle {
	margin: 0;
	color: #0f172a;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
}

.xhai-fullpost-streamstatetext {
	margin: 0;
	color: #9f1239;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.xhai-fullpost-streamstatetext.is-muted {
	color: #64748b;
}

.xhai-fullpost-rewritegrid {
	display: grid;
	grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
	gap: 18px;
	height: 100%;
	min-height: 0;
	align-items: stretch;
	justify-content: center;
	margin: 0 auto;
	width: 100%;
	max-width: 1938px;
}

.xhai-fullpost-rewritegrid.is-collapsed {
	grid-template-columns: minmax(0, 1fr);
	max-width: 1180px;
}

.xhai-fullpost-rewritecolumn {
	display: flex;
	min-height: 0;
	width: 100%;
}

.xhai-fullpost-sourcecard,
.xhai-fullpost-targetcard {
	display: flex;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
	width: 100%;
}

.xhai-fullpost-followupbar {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	padding: 0;
	background: transparent;
}

.xhai-fullpost-followupcard {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 16px 16px 0;
	padding: 12px 16px 12px;
	border: 1px solid rgba(226, 232, 240, 0.8);
	border-bottom: 0;
	border-radius: 20px 20px 0 0;
	background: #fff;
	box-shadow: 0 -4px 16px rgba(15, 23, 42, 0.04);
	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease;
}

.xhai-fullpost-followupcard:focus-within {
	border-color: #cbd5e1;
	box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
}

.xhai-fullpost-followupsuggestions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 5px 0 14px;
	border-bottom: 1px solid rgba(226, 232, 240, 0.8);
}

.xhai-fullpost-followupsuggestions-title {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #6b7280;
	font-size: 13px;
	font-weight: 500;
}

.xhai-fullpost-followupsuggestions-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	overflow-x: auto;
	scrollbar-width: none;
	padding: 3px 2px;
}

.xhai-fullpost-followupsuggestions-list::-webkit-scrollbar {
	display: none;
}

.xhai-fullpost-followupsuggestion {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	flex: 0 0 auto;
	max-width: 220px;
	min-height: 32px;
	padding: 6px 14px;
	border: 1px solid rgba(139, 92, 246, 0.2);
	border-radius: 999px;
	background: linear-gradient(180deg, #f8fafc, #f1f5f9);
	color: #475569;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	transition: all 0.2s ease;
}

.xhai-fullpost-followupsuggestion:hover:not(:disabled) {
	border-color: rgba(139, 92, 246, 0.4);
	box-shadow: 0 4px 12px rgba(139, 92, 246, 0.08);
	background: #fff;
	color: #0f172a;
	transform: translateY(-1px);
}

.xhai-fullpost-followupsuggestion-icon {
	flex: 0 0 auto;
	color: #8b5cf6;
}

.xhai-fullpost-followupsuggestion-text {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.xhai-fullpost-followupsuggestion:disabled {
	opacity: 0.58;
	cursor: not-allowed;
}

.xhai-fullpost-followupactions-left .xhai-fullpost-modelselector {
	max-width: 180px;
}

.xhai-fullpost-targethead .xhai-fullpost-actions .xhai-fullpost-primarybutton,
.xhai-fullpost-targethead .xhai-fullpost-actions .xhai-fullpost-secondarybutton,
.xhai-fullpost-targethead .xhai-fullpost-actions .xhai-fullpost-tertiarybutton {
	min-height: 30px;
	padding: 0 10px;
	border-radius: 9px;
	font-size: 12px;
}

.xhai-fullpost-sourcehead,
.xhai-fullpost-targethead {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	height: 60px;
	padding: 0 18px;
	border-bottom: 1px solid rgba(226, 232, 240, 0.9);
}

.xhai-fullpost-sourceheading,
.xhai-fullpost-targettitle {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.xhai-fullpost-pendingtitle {
	padding: 4px 10px;
	border-radius: 999px;
	background: #eff6ff;
	color: #1d4ed8;
	font-size: 12px;
	font-weight: 600;
}

.xhai-fullpost-rewritestatus {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	white-space: nowrap;
}

.xhai-fullpost-rewritestatus.is-busy {
	background: #fef3c7;
	color: #92400e;
}

.xhai-fullpost-rewritestatus.is-done {
	background: #d1fae5;
	color: #065f46;
}

.xhai-fullpost-sourcebody,
.xhai-fullpost-targetbody {
	flex: 1;
	min-height: 0;

	/* No top padding — infobar/collapsible sit flush against the header */
	padding: 0 18px 18px;
	overflow: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.xhai-fullpost-sourcebody {
	padding-top: 30px !important;
}

.xhai-fullpost-sourcetitle {
	margin: 0 0 18px;
	font-size: 28px;
	line-height: 1.2;
	color: #0f172a;
}

.xhai-fullpost-emptytext {
	color: #94a3b8;
}

.xhai-fullpost-collapsible {
	display: grid;
	grid-template-rows: 0fr;
	overflow: hidden;
	transition: grid-template-rows 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

.xhai-fullpost-collapsible.is-open {
	grid-template-rows: 1fr;
	overflow: visible;
}

.xhai-fullpost-formpanel {
	min-height: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.xhai-fullpost-collapsible.is-open .xhai-fullpost-formpanel {
	padding: 18px 0 16px;
	overflow: visible;
}

.xhai-fullpost-titleopt.is-compact .xhai-fullpost-secondarybutton {
	min-height: 30px;
	padding: 0 10px;
	border-radius: 9px;
	font-size: 12px;
}

.xhai-fullpost-prose,
.xhai-fullpost-prose p {
	max-width: 100%;
	color: #334155;
	font-size: 15px;
	line-height: 1.8;
	word-break: break-word;
}

/* 使用双类名提升权重，防止 WordPress 后台全局样式覆盖 */
.xhai-fullpost-prose.xhai-fullpost-prose h1,
.xhai-fullpost-prose.xhai-fullpost-prose h2,
.xhai-fullpost-prose.xhai-fullpost-prose h3,
.xhai-fullpost-prose.xhai-fullpost-prose h4 {
	color: #0f172a;
	line-height: 1.35;
}

.xhai-fullpost-prose.xhai-fullpost-prose h1 {
	margin: 0 0 14px;
	font-size: 28px;
}

.xhai-fullpost-prose.xhai-fullpost-prose h2 {
	margin: 28px 0 12px;
	font-size: 22px;
}

.xhai-fullpost-prose.xhai-fullpost-prose h3 {
	margin: 22px 0 10px;
	font-size: 18px;
}

.xhai-fullpost-prose.xhai-fullpost-prose h4 {
	margin: 18px 0 8px;
	font-size: 16px;
}

.xhai-fullpost-prose.xhai-fullpost-prose p,
.xhai-fullpost-prose.xhai-fullpost-prose ul,
.xhai-fullpost-prose.xhai-fullpost-prose ol,
.xhai-fullpost-prose.xhai-fullpost-prose pre,
.xhai-fullpost-prose.xhai-fullpost-prose blockquote {
	margin: 14px 0;
}

.xhai-fullpost-prose.xhai-fullpost-prose ul,
.xhai-fullpost-prose.xhai-fullpost-prose ol {
	padding-left: 24px;
	list-style-position: outside;
}

.xhai-fullpost-prose.xhai-fullpost-prose ul {
	list-style-type: disc;
}

.xhai-fullpost-prose.xhai-fullpost-prose ol {
	list-style-type: decimal;
}

.xhai-fullpost-prose.xhai-fullpost-prose ul ul {
	list-style-type: circle;
}

.xhai-fullpost-prose.xhai-fullpost-prose ol ol {
	list-style-type: lower-alpha;
}

.xhai-fullpost-prose.xhai-fullpost-prose li::marker {
	color: #64748b;
}

.xhai-fullpost-prose.xhai-fullpost-prose blockquote {
	padding: 14px 16px;
	border-left: 4px solid #0f766e;
	border-radius: 0 12px 12px 0;
	background: rgba(15, 118, 110, 0.08);
	color: #0f172a;
}

.xhai-fullpost-prose.xhai-fullpost-prose pre {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding: 16px;
	border-radius: 14px;
	background: #0f172a;
	color: #e2e8f0;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: pre;
	overflow-wrap: normal;
}

.xhai-fullpost-prose.xhai-fullpost-prose a {
	color: #2563eb;
	text-decoration: underline;
}

.xhai-fullpost-prose.xhai-fullpost-prose img {
	display: block;

	/* Smaller, left-aligned — max 480px wide */
	max-width: min(100%, 480px);
	height: auto;
	min-height: 90px;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	margin: 14px 0; /* left-align: no auto margin */
	border-radius: 10px;
	border: 1px solid rgba(226, 232, 240, 0.9);
	background: #f8fafc;
}

/* ── 表格（GFM） ── */
.xhai-fullpost-prose.xhai-fullpost-prose table {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin: 16px 0;
	font-size: 14px;
	line-height: 1.6;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
}

.xhai-fullpost-prose.xhai-fullpost-prose thead {
	background: #f1f5f9;
}

.xhai-fullpost-prose.xhai-fullpost-prose th {
	padding: 10px 14px;
	font-weight: 600;
	color: #0f172a;
	text-align: left;
	border-bottom: 1px solid #e2e8f0;
	font-size: 13px;
}

.xhai-fullpost-prose.xhai-fullpost-prose td {
	padding: 10px 14px;
	border-bottom: 1px solid #f1f5f9;
	color: #334155;
}

.xhai-fullpost-prose.xhai-fullpost-prose tbody tr:last-child td {
	border-bottom: none;
}

.xhai-fullpost-prose.xhai-fullpost-prose tbody tr:nth-child(even) {
	background: #f8fafc;
}

/* ── 内联代码 ── */
.xhai-fullpost-prose.xhai-fullpost-prose code {
	font-family:
		ui-monospace,
		SFMono-Regular,
		"SF Mono",
		Menlo,
		Consolas,
		monospace;
	font-size: 0.88em;
	padding: 2px 6px;
	background: #f1f5f9;
	color: #be123c;
	border-radius: 5px;
	word-break: break-word;
}

.xhai-fullpost-prose.xhai-fullpost-prose pre code {
	background: transparent;
	color: inherit;
	padding: 0;
	font-size: 13px;
	border-radius: 0;
	word-break: normal;
	overflow-wrap: normal;
}

/* ── 水平线 ── */
.xhai-fullpost-prose.xhai-fullpost-prose hr {
	margin: 24px 0;
	border: 0;
	height: 1px;
	background: linear-gradient(to right, transparent, #cbd5e1, transparent);
}

/* ── 任务列表 ── */
.xhai-fullpost-prose.xhai-fullpost-prose input[type="checkbox"] {
	margin: 0 8px 0 0;
	vertical-align: middle;
	accent-color: #0f766e;
	width: 15px;
	height: 15px;
	cursor: default;
}

/* ── 列表项 ── */
.xhai-fullpost-prose.xhai-fullpost-prose li {
	margin: 6px 0;
}

.xhai-fullpost-prose.xhai-fullpost-prose li > p {
	margin: 0;
}

/* ── 强调文本 ── */
.xhai-fullpost-prose.xhai-fullpost-prose strong {
	color: #0f172a;
	font-weight: 600;
}

.xhai-fullpost-prose.xhai-fullpost-prose em {
	color: #334155;
}

@keyframes xhai-fullpost-pulse {

	0% {
		box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.4);
	}

	70% {
		box-shadow: 0 0 0 6px rgba(99, 102, 241, 0);
	}

	100% {
		box-shadow: 0 0 0 0 rgba(99, 102, 241, 0);
	}
}

@keyframes xhai-fullpost-blink {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}

@keyframes xhai-fullpost-spin {

	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes xhai-fullpost-overlay-fade-in {

	from {
		opacity: 0.78;
	}

	to {
		opacity: 1;
	}
}

@keyframes xhai-fullpost-glass-strip-in {

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes xhai-fullpost-fade-in {

	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes xhai-fullpost-slide-up {

	from {
		opacity: 0.92;
		transform: translateY(12%);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes xhai-fullpost-slide-down {

	from {
		opacity: 0;
		transform: translateY(-8px) scale(0.98);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes xhai-fullpost-scale-in {

	from {
		opacity: 0;
		transform: scale(0.95);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* ── Exit animations for dialogs / panels ── */
.xhai-fullpost-titlepanel.is-closing {
	animation:
		xhai-fullpost-slide-down-reverse 0.2s
		cubic-bezier(0.3, 0, 0.6, 1) forwards;
}

.xhai-fullpost-searchagg-panel.is-closing {
	animation:
		xhai-fullpost-scale-out 0.2s cubic-bezier(0.3, 0, 0.6, 1)
		forwards;
}

.xhai-fullpost-confirmoverlay.is-closing {
	animation: xhai-fullpost-fade-out 0.2s cubic-bezier(0.3, 0, 0.6, 1) forwards;
}

.xhai-fullpost-confirmoverlay.is-closing .xhai-fullpost-confirmdialog {
	animation:
		xhai-fullpost-scale-out 0.2s cubic-bezier(0.3, 0, 0.6, 1)
		forwards;
}

@keyframes xhai-fullpost-slide-down-reverse {

	from {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	to {
		opacity: 0;
		transform: translateY(-8px) scale(0.98);
	}
}

@keyframes xhai-fullpost-scale-out {

	from {
		opacity: 1;
		transform: scale(1);
	}

	to {
		opacity: 0;
		transform: scale(0.95);
	}
}

@keyframes xhai-fullpost-fade-out {

	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@media (max-width: 1080px) {

	.xhai-fullpost-topbar {
		flex-direction: column;
		align-items: stretch;
		padding-left: 24px;
		padding-right: 24px;
	}

	.xhai-fullpost-brandslot,
	.xhai-fullpost-tabslot,
	.xhai-fullpost-statusslot {
		width: 100%;
		justify-content: flex-start;
	}

	.xhai-fullpost-statusslot {
		display: flex;
	}

	.xhai-fullpost-rewritegrid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 782px) {

	.xhai-fullpost-overlay::before {
		display: none;
	}

	.xhai-fullpost-shell {
		height: 100vh;
		border-radius: 0;
	}

	.xhai-fullpost-topbar,
	.xhai-fullpost-body {
		padding-left: 16px;
		padding-right: 16px;
	}

	.xhai-fullpost-stage--intro {
		padding-top: 24px;
	}

	.xhai-fullpost-stagehead,
	.xhai-fullpost-stagebar,
	.xhai-fullpost-formfooter,
	.xhai-fullpost-sourcehead,
	.xhai-fullpost-targethead,
	.xhai-fullpost-labelrow,
	.xhai-fullpost-settingscontrols {
		flex-direction: column;
		align-items: stretch;
	}

	.xhai-fullpost-stageframe,
	.xhai-fullpost-stepnavwrap {
		max-width: none;
		transform: none;
	}

	.xhai-fullpost-formcard {
		padding: 22px 18px;
	}

	.xhai-fullpost-settingsdivider {
		display: none;
	}

	.xhai-fullpost-modelselector {
		min-width: 0;
		max-width: none;
	}

	.xhai-fullpost-titlepanel {
		left: 0;
		right: auto;
		width: min(360px, calc(100vw - 32px));
	}

	.xhai-fullpost-streamstate {
		align-items: flex-start;
		flex-direction: column;
		min-height: 0;
		padding: 18px;
	}

	.xhai-fullpost-stepnav,
	.xhai-fullpost-actions,
	.xhai-fullpost-tabs {
		width: 100%;
	}

	.xhai-fullpost-buttontext-desktop {
		display: none;
	}

	.xhai-fullpost-primarybutton,
	.xhai-fullpost-secondarybutton,
	.xhai-fullpost-tertiarybutton,
	.xhai-fullpost-dropdown {
		width: 100%;
	}

	.xhai-fullpost-editorbody {
		min-height: 300px;
	}

	.xhai-fullpost-followupbar {
		padding: 0;
	}

	.xhai-fullpost-followupcard {
		margin: 12px 12px 0;
		padding: 10px 12px 10px;
	}

	.xhai-fullpost-followupactions {
		padding-top: 4px;
		align-items: flex-end;
		gap: 10px;
	}

	.xhai-fullpost-followupactions-left {
		flex: 1;
		gap: 8px;
	}

	.xhai-fullpost-followupactions-left .xhai-fullpost-modelselector {
		max-width: none;
		width: 100%;
	}

	.xhai-fullpost-editorbody.has-footer .xhai-fullpost-editortoolbar {
		bottom: 148px;
	}

	.xhai-fullpost-sourcetitle {
		font-size: 24px;
	}

	.xhai-fullpost-stepconnector {
		width: 20px;
	}

	.xhai-fullpost-statustooltip {
		left: 0;
		right: auto;
		width: min(280px, calc(100vw - 32px));
		max-width: calc(100vw - 32px);
	}

	.xhai-fullpost-statustooltip::before {
		left: 16px;
		right: auto;
	}

	.xhai-fullpost-prose.xhai-fullpost-prose pre {
		padding: 12px;
	}

	.xhai-fullpost-prose.xhai-fullpost-prose table {
		margin-right: 0;
		overflow-x: auto;
	}
}

/* Keep all modal flex/grid children shrinkable and localize horizontal scrolling
 * to code, tables, or other content that genuinely needs it. */
.xhai-fullpost-shell,
.xhai-fullpost-topbar,
.xhai-fullpost-body,
.xhai-fullpost-panel,
.xhai-fullpost-stage,
.xhai-fullpost-rewritegrid,
.xhai-fullpost-rewritecolumn,
.xhai-fullpost-sourcecard,
.xhai-fullpost-targetcard,
.xhai-fullpost-sourcebody,
.xhai-fullpost-targetbody,
.xhai-fullpost-editorbody,
.xhai-fullpost-editorscroll,
.xhai-fullpost-translatefield,
.xhai-fullpost-translaterow,
.xhai-fullpost-followupcard {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

.xhai-fullpost-prose {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

@media (max-width: 782px) {
	/* Keep partial-output actions clear of the error panel on narrow screens. */
	.xhai-fullpost-sourcehead,
	.xhai-fullpost-targethead {
		height: auto;
		min-height: 60px;
		box-sizing: border-box;
		padding: 12px 18px;
		gap: 10px;
	}

	.xhai-fullpost-sourcehead {
		flex-direction: row;
		align-items: center;
	}

	.xhai-fullpost-targethead .xhai-fullpost-actions .xhai-fullpost-primarybutton,
	.xhai-fullpost-targethead .xhai-fullpost-actions .xhai-fullpost-secondarybutton,
	.xhai-fullpost-targethead .xhai-fullpost-actions .xhai-fullpost-tertiarybutton,
	.xhai-fullpost-sourcehead .xhai-fullpost-tertiarybutton {
		width: auto;
	}

	.xhai-fullpost-shell,
	.xhai-fullpost-body,
	.xhai-fullpost-panel,
	.xhai-fullpost-rewritegrid,
	.xhai-fullpost-rewritecolumn,
	.xhai-fullpost-sourcecard,
	.xhai-fullpost-targetcard,
	.xhai-fullpost-sourcebody,
	.xhai-fullpost-targetbody {
		width: 100%;
		max-width: 100%;
	}

	.xhai-fullpost-translaterow {
		align-items: stretch;
		flex-direction: column;
	}

	.xhai-fullpost-translaterow .xhai-fullpost-primarybutton,
	.xhai-fullpost-translaterow .xhai-fullpost-dropdown {
		width: 100%;
		max-width: 100%;
	}
}

/* Workspace feedback is immediate; layout and streaming effects stay independent. */
.xhai-fullpost-input,
.xhai-fullpost-textarea,
.xhai-fullpost-titleinput,
.xhai-fullpost-dropdowntrigger,
.xhai-fullpost-dropdownoption {
 transition: none;
}
.xhai-fullpost-dropdownmenu { animation: none; overflow-y: auto; box-sizing: border-box; }
.xhai-fullpost-dropdownoption:focus-visible { outline: 2px solid #2563eb; outline-offset: -2px; }
.xhai-fullpost-draftnotice { padding: 8px 20px; background: #eff6ff; color: #1e40af; font-size: 13px; display: flex; gap: 12px; align-items: center; }
.xhai-fullpost-draftnotice button { margin-left: auto; background: none; border: 0; color: inherit; cursor: pointer; font-size: 20px; }
.xhai-fullpost-confirmdialog { max-height: calc(100dvh - 32px); overflow-y: auto; }
@media (max-width: 782px) {
 .xhai-fullpost-shell { height: 100dvh; max-height: 100dvh; }
 .xhai-fullpost-close { color: #334155; background: #fff; width: 44px; height: 44px; top: 4px; right: 4px; z-index: 20; }
 .xhai-fullpost-close:hover { color: #0f172a; background: #e2e8f0; }
 .xhai-fullpost-brandslot { padding-right: 40px; }
 .xhai-fullpost-confirmactions { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
 .xhai-fullpost-overlay *, .xhai-fullpost-overlay::before { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
