/* 数据智能建模 */
.lx-dm {
	--dm-bg: #070b14;
	--dm-panel: rgba(14, 22, 40, 0.96);
	--dm-border: rgba(64, 180, 255, 0.28);
	--dm-cyan: #3ecbff;
	--dm-blue: #5b8cff;
	--dm-text: #eef5ff;
	--dm-muted: #9aafc7;
	--dm-ok: #3dd68c;
	color: var(--dm-text);
	font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.55;
	max-width: 1280px;
	margin: 0 auto;
	padding: 8px 6px 40px;
}
.lx-dm *,
.lx-dm *::before,
.lx-dm *::after {
	box-sizing: border-box;
}
.lx-dm [hidden] {
	display: none !important;
}

.lx-dm-hero {
	padding: 22px 24px;
	margin-bottom: 16px;
	border: 1px solid var(--dm-border);
	background:
		radial-gradient(ellipse 70% 80% at 10% 0%, rgba(62, 203, 255, 0.14), transparent 50%),
		radial-gradient(ellipse 50% 60% at 90% 20%, rgba(91, 140, 255, 0.12), transparent 45%),
		var(--dm-panel);
}
.lx-dm-hero__badge {
	font-size: 12px;
	letter-spacing: 0.12em;
	color: var(--dm-cyan);
	font-weight: 700;
	margin-bottom: 8px;
}
.lx-dm-hero__title {
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 800;
	color: #fff;
}
.lx-dm-hero__desc {
	margin: 0 0 14px;
	color: #c9daf0;
	max-width: 960px;
}
.lx-dm-hero__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.lx-dm-hero__tags span {
	padding: 4px 10px;
	border: 1px solid rgba(62, 203, 255, 0.35);
	background: rgba(62, 203, 255, 0.1);
	color: #d7f4ff;
	font-size: 12px;
	font-weight: 600;
}

.lx-dm-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 16px;
}
.lx-dm-tab {
	padding: 9px 14px;
	border: 1px solid var(--dm-border);
	background: rgba(8, 14, 28, 0.9);
	color: var(--dm-muted);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
}
.lx-dm-tab:hover {
	color: #fff;
	border-color: var(--dm-cyan);
}
.lx-dm-tab.is-active {
	color: #041018;
	background: linear-gradient(90deg, var(--dm-cyan), #7adfff);
	border-color: var(--dm-cyan);
}

.lx-dm-pane {
	animation: lx-dm-fade 0.2s ease;
}
@keyframes lx-dm-fade {
	from {
		opacity: 0;
		transform: translateY(4px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

.lx-dm-grid2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.lx-dm-grid3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-bottom: 14px;
}
@media (max-width: 900px) {
	.lx-dm-grid2,
	.lx-dm-grid3 {
		grid-template-columns: 1fr;
	}
}

.lx-dm-card {
	padding: 18px 18px 16px;
	border: 1px solid var(--dm-border);
	background: var(--dm-panel);
}
.lx-dm-card--wide {
	margin-top: 14px;
}
.lx-dm-card h2,
.lx-dm-card h3 {
	margin: 0 0 10px;
	color: #fff;
	font-weight: 800;
}
.lx-dm-card h2 {
	font-size: 20px;
}
.lx-dm-card h3 {
	font-size: 16px;
	color: var(--dm-cyan);
}
.lx-dm-card p {
	margin: 0 0 8px;
	color: #c5d7ed;
}
.lx-dm-muted {
	color: var(--dm-muted) !important;
	font-size: 13px;
}
.lx-dm-ul,
.lx-dm-module-list {
	margin: 0;
	padding-left: 18px;
	color: #d5e4f6;
}
.lx-dm-ul li,
.lx-dm-module-list li {
	margin-bottom: 6px;
}

.lx-dm-arch-levels {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
	margin-top: 14px;
}
@media (max-width: 900px) {
	.lx-dm-arch-levels {
		grid-template-columns: 1fr 1fr;
	}
}
.lx-dm-arch-level {
	padding: 12px;
	border: 1px solid rgba(62, 203, 255, 0.25);
	background: rgba(0, 20, 40, 0.45);
	text-align: center;
}
.lx-dm-arch-level span {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	color: var(--dm-cyan);
	letter-spacing: 0.08em;
}
.lx-dm-arch-level strong {
	display: block;
	margin: 6px 0 4px;
	color: #fff;
}
.lx-dm-arch-level p {
	margin: 0;
	font-size: 12px;
	color: var(--dm-muted);
}

.lx-dm-layout {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 14px;
	min-height: 520px;
}
@media (max-width: 900px) {
	.lx-dm-layout {
		grid-template-columns: 1fr;
	}
}
.lx-dm-side {
	border: 1px solid var(--dm-border);
	background: var(--dm-panel);
	padding: 12px;
}
.lx-dm-side__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}
.lx-dm-main {
	border: 1px solid var(--dm-border);
	background: var(--dm-panel);
	padding: 14px 16px;
	min-height: 520px;
}
.lx-dm-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-height: 640px;
	overflow: auto;
}
.lx-dm-list-item {
	padding: 10px 10px;
	border: 1px solid rgba(62, 203, 255, 0.18);
	background: rgba(0, 12, 24, 0.5);
	cursor: pointer;
	text-align: left;
	color: inherit;
	font-family: inherit;
	width: 100%;
}
.lx-dm-list-item:hover,
.lx-dm-list-item.is-active {
	border-color: var(--dm-cyan);
	background: rgba(62, 203, 255, 0.1);
}
.lx-dm-list-item strong {
	display: block;
	color: #fff;
	font-size: 14px;
}
.lx-dm-list-item small {
	color: var(--dm-muted);
	font-size: 12px;
}

.lx-dm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border: 1px solid var(--dm-border);
	background: rgba(8, 16, 32, 0.9);
	color: var(--dm-text);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
	text-decoration: none;
}
.lx-dm-btn:hover {
	border-color: var(--dm-cyan);
	color: #fff;
}
.lx-dm-btn--primary {
	background: linear-gradient(90deg, #1a8fd4, #3ecbff);
	border-color: transparent;
	color: #041018;
}
.lx-dm-btn--sm {
	padding: 5px 10px;
	font-size: 12px;
}
.lx-dm-btn:disabled,
.lx-dm-btn.is-loading {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
}
.lx-dm-btn.is-loading {
	gap: 8px;
}
.lx-dm-btn-spin {
	width: 14px;
	height: 14px;
	border: 2px solid rgba(255, 255, 255, 0.25);
	border-top-color: currentColor;
	border-radius: 50%;
	animation: lx-dm-spin 0.7s linear infinite;
	flex: 0 0 auto;
}
.lx-dm-list-item.is-loading {
	opacity: 0.6;
	pointer-events: none;
	position: relative;
}
.lx-dm-list-item.is-loading::after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	border: 2px solid rgba(62, 203, 255, 0.25);
	border-top-color: var(--dm-cyan);
	border-radius: 50%;
	animation: lx-dm-spin 0.7s linear infinite;
}
.lx-dm-inline-loading {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 8px;
	color: var(--dm-muted);
	font-size: 13px;
}
.lx-dm-canvas-stage-wrap {
	position: relative;
}
.lx-dm-canvas-loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 160px;
	margin: 10px 0;
	padding: 24px;
	border: 1px dashed rgba(62, 203, 255, 0.35);
	background: rgba(0, 16, 32, 0.45);
	color: #dceaf8;
	font-weight: 600;
}
.lx-dm-canvas-loading.lx-dm-boot--canvas {
	position: absolute;
	inset: 0;
	z-index: 8;
	margin: 0;
	min-height: 0;
	border: none;
	background:
		radial-gradient(ellipse 60% 50% at 50% 40%, rgba(62, 203, 255, 0.14), transparent 65%),
		rgba(4, 10, 20, 0.88);
	backdrop-filter: blur(2px);
}
.lx-dm-canvas-loading[hidden] {
	display: none !important;
}
.lx-dm-canvas-lazy-wrap {
	position: relative;
}
.lx-dm-canvas-lazy-mask {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: rgba(6, 12, 24, 0.72);
	color: #e8f4ff;
	font-weight: 700;
	font-size: 13px;
}
.lx-dm-canvas-lazy-mask[hidden] {
	display: none !important;
}
.lx-dm-spinner--sm {
	width: 22px;
	height: 22px;
	border-width: 2px;
}
.lx-dm-health__score {
	font-size: 42px;
	font-weight: 800;
	color: var(--dm-cyan);
	line-height: 1.1;
}
.lx-dm-ops-table {
	overflow: auto;
}
.lx-dm-ops-detail p {
	margin: 0 0 6px;
}

.lx-dm-input,
.lx-dm-select,
.lx-dm-textarea {
	width: 100%;
	margin-top: 4px;
	padding: 8px 10px;
	border: 1px solid var(--dm-border);
	background: rgba(0, 10, 22, 0.75);
	color: #fff;
	font-family: inherit;
	font-size: 14px;
}
.lx-dm-textarea {
	resize: vertical;
	min-height: 88px;
}
.lx-dm-form-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-bottom: 12px;
}
@media (max-width: 900px) {
	.lx-dm-form-row {
		grid-template-columns: 1fr;
	}
}
.lx-dm-form-row label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: #c5d7ed;
}

.lx-dm-editor__bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(62, 203, 255, 0.2);
}
.lx-dm-editor__bar h2 {
	margin: 0;
	font-size: 20px;
	color: #fff;
}
.lx-dm-editor__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lx-dm-split {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 12px;
	margin-top: 12px;
}
@media (max-width: 900px) {
	.lx-dm-split {
		grid-template-columns: 1fr;
	}
}
.lx-dm-panel {
	border: 1px solid rgba(62, 203, 255, 0.2);
	background: rgba(0, 12, 24, 0.4);
	padding: 10px;
	min-height: 280px;
}
.lx-dm-panel__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
	color: var(--dm-cyan);
	font-size: 13px;
}

.lx-dm-entity {
	border: 1px solid rgba(62, 203, 255, 0.18);
	margin-bottom: 8px;
	background: rgba(0, 0, 0, 0.25);
}
.lx-dm-entity__head {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	padding: 8px;
	background: rgba(62, 203, 255, 0.08);
}
.lx-dm-entity__head input {
	flex: 1;
	min-width: 100px;
	padding: 5px 8px;
	border: 1px solid var(--dm-border);
	background: rgba(0, 10, 20, 0.7);
	color: #fff;
	font-family: inherit;
}
.lx-dm-entity__fields {
	padding: 8px;
	font-size: 12px;
	color: #cfe0f4;
}
.lx-dm-entity__fields table {
	width: 100%;
	border-collapse: collapse;
}
.lx-dm-entity__fields th,
.lx-dm-entity__fields td {
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	padding: 4px 6px;
	text-align: left;
}
.lx-dm-entity__fields th {
	color: var(--dm-muted);
	font-weight: 600;
}
.lx-dm-rel-item {
	padding: 6px 8px;
	margin-bottom: 6px;
	border-left: 3px solid var(--dm-cyan);
	background: rgba(0, 0, 0, 0.2);
	font-size: 13px;
	color: #d7e8fa;
}
.lx-dm-pre {
	margin: 0;
	padding: 10px;
	max-height: 280px;
	overflow: auto;
	white-space: pre-wrap;
	word-break: break-word;
	font-size: 12px;
	line-height: 1.45;
	border: 1px solid rgba(62, 203, 255, 0.2);
	background: rgba(0, 0, 0, 0.35);
	color: #e8f4ff;
	font-family: Consolas, "Microsoft YaHei", monospace;
}

.lx-dm-empty {
	text-align: center;
	padding: 60px 20px;
}
.lx-dm-empty__icon {
	font-size: 40px;
	margin-bottom: 10px;
}
.lx-dm-empty h3 {
	margin: 0 0 8px;
	color: #fff;
}
.lx-dm-login-tip {
	padding: 12px 14px;
	margin-bottom: 12px;
	border: 1px solid rgba(255, 180, 60, 0.35);
	background: rgba(60, 40, 0, 0.25);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.lx-dm-progress {
	margin-top: 12px;
}
.lx-dm-progress__bar {
	height: 6px;
	background: rgba(255, 255, 255, 0.08);
	overflow: hidden;
}
.lx-dm-progress__bar i {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--dm-blue), var(--dm-cyan));
	transition: width 0.25s;
}

.lx-dm-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}
.lx-dm-stats div {
	text-align: center;
	padding: 12px 8px;
	border: 1px solid rgba(62, 203, 255, 0.2);
	background: rgba(0, 16, 32, 0.45);
}
.lx-dm-stats b {
	display: block;
	font-size: 22px;
	color: var(--dm-cyan);
}
.lx-dm-stats span {
	font-size: 12px;
	color: var(--dm-muted);
}

.lx-dm-std-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}
.lx-dm-std-table th,
.lx-dm-std-table td {
	padding: 8px 8px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	text-align: left;
}
.lx-dm-std-table th {
	color: var(--dm-muted);
}
.lx-dm-std-table td {
	color: #e8f4ff;
}
.lx-dm-badge {
	display: inline-block;
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 700;
	border-radius: 2px;
}
.lx-dm-badge--ok {
	background: rgba(61, 214, 140, 0.2);
	color: #3dd68c;
}
.lx-dm-badge--warn {
	background: rgba(255, 180, 60, 0.2);
	color: #ffb43c;
}
.lx-dm-badge--err {
	background: rgba(255, 80, 100, 0.2);
	color: #ff6b7a;
}
.lx-dm-rev-log {
	margin-top: 12px;
}
.lx-dm-rev-item {
	padding: 8px 10px;
	margin-bottom: 6px;
	border-left: 3px solid var(--dm-blue);
	background: rgba(0, 0, 0, 0.25);
	font-size: 13px;
}
.lx-dm-case__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 10px;
}
.lx-dm-case__tags span {
	padding: 3px 8px;
	font-size: 12px;
	font-weight: 600;
	border: 1px solid rgba(62, 203, 255, 0.3);
	color: #bfe9ff;
}

.lx-dm-toast {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100200;
	max-width: 360px;
	padding: 12px 16px;
	border: 1px solid rgba(62, 203, 255, 0.45);
	background: rgba(8, 18, 36, 0.96);
	color: #eef6ff;
	font-size: 13px;
	font-weight: 600;
	box-shadow: 0 0 16px rgba(62, 203, 255, 0.25);
}
.lx-dm-toast.is-err {
	border-color: rgba(255, 80, 100, 0.55);
}

/* 案例库 */
.lx-dm-demo-head {
	margin-bottom: 12px;
}
.lx-dm-demo-head h2 {
	margin: 0 0 6px;
}
.lx-dm-demo-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}
.lx-dm-demo-filter {
	padding: 7px 12px;
	border: 1px solid rgba(62, 203, 255, 0.35);
	background: rgba(0, 16, 32, 0.7);
	color: #d0e6fa;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
}
.lx-dm-demo-filter:hover {
	border-color: var(--dm-cyan);
	color: #fff;
}
.lx-dm-demo-filter.is-active {
	color: #041018;
	background: linear-gradient(90deg, var(--dm-cyan), #7adfff);
	border-color: transparent;
}
.lx-dm-demo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 12px;
}
.lx-dm-demo-card {
	padding: 14px;
	border: 1px solid rgba(62, 203, 255, 0.28);
	background: rgba(0, 12, 24, 0.55);
	display: flex;
	flex-direction: column;
	gap: 8px;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.lx-dm-demo-card:hover {
	border-color: rgba(62, 203, 255, 0.65);
	box-shadow: 0 0 14px rgba(62, 203, 255, 0.15);
}
.lx-dm-demo-card__top {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	align-items: center;
}
.lx-dm-demo-card__tag {
	font-size: 12px;
	font-weight: 700;
	color: #5ee0ff;
}
.lx-dm-demo-card__layer {
	font-size: 12px;
	color: var(--dm-muted);
	font-weight: 600;
}
.lx-dm-demo-card__title {
	margin: 0;
	font-size: 16px;
	font-weight: 800;
	color: #fff;
	line-height: 1.35;
}
.lx-dm-demo-card__meta {
	margin: 0;
	font-size: 12px;
	color: #a8bdd4;
}
.lx-dm-demo-card__effect {
	margin: 0;
	font-size: 13px;
	color: #cfe0f4;
	line-height: 1.5;
	flex: 1;
}
.lx-dm-demo-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}
.lx-dm-demo-pager {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid rgba(62, 203, 255, 0.18);
}
.lx-dm-demo-pager__info {
	font-size: 13px;
	font-weight: 600;
	color: #c5d7ed;
}
.lx-dm-demo-pager__nums {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}
.lx-dm-demo-page-btn {
	min-width: 32px;
	height: 32px;
	border: 1px solid rgba(62, 203, 255, 0.3);
	background: rgba(0, 16, 32, 0.7);
	color: #e8f4ff;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
}
.lx-dm-demo-page-btn.is-active {
	background: var(--dm-cyan);
	color: #041018;
	border-color: var(--dm-cyan);
}
.lx-dm-demo-pager__dot {
	color: #8aa0b8;
	padding: 0 2px;
}

/* 案例详情弹窗 */
.lx-dm-modal {
	position: fixed;
	inset: 0;
	z-index: 100250;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(4, 8, 16, 0.72);
	backdrop-filter: blur(4px);
}
.lx-dm-modal[hidden] {
	display: none !important;
}
.lx-dm-modal__panel {
	width: min(920px, 96vw);
	max-height: 88vh;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(62, 203, 255, 0.4);
	background: linear-gradient(165deg, rgba(10, 18, 36, 0.99), rgba(12, 10, 28, 0.99));
	box-shadow: 0 0 28px rgba(62, 203, 255, 0.2);
}
.lx-dm-modal__head {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(62, 203, 255, 0.22);
}
.lx-dm-modal__head h3 {
	margin: 0;
	font-size: 17px;
	color: #fff;
	font-weight: 800;
	padding-right: 12px;
}
.lx-dm-modal__x {
	border: none;
	background: transparent;
	color: #9eb4cc;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
}
.lx-dm-modal__x:hover {
	color: #fff;
}
.lx-dm-modal__loading {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 48px 20px;
	color: #dceaf8;
	font-weight: 600;
	min-height: 180px;
}
.lx-dm-modal__loading[hidden] {
	display: none !important;
}
.lx-dm-spinner {
	width: 40px;
	height: 40px;
	border: 3px solid rgba(62, 203, 255, 0.2);
	border-top-color: var(--dm-cyan);
	border-radius: 50%;
	animation: lx-dm-spin 0.75s linear infinite;
}
@keyframes lx-dm-spin {
	to {
		transform: rotate(360deg);
	}
}

/* ── 酷炫启动加载（案例详情） ── */
.lx-dm-boot {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 40px 24px 36px;
	min-height: 280px;
	color: #e8f4ff;
	background:
		radial-gradient(ellipse 60% 50% at 50% 40%, rgba(62, 203, 255, 0.12), transparent 65%),
		linear-gradient(180deg, rgba(4, 12, 24, 0.95), rgba(6, 14, 28, 0.98));
	position: relative;
	overflow: hidden;
}
.lx-dm-boot[hidden] {
	display: none !important;
}
.lx-dm-boot::before {
	content: '';
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(
		0deg,
		transparent,
		transparent 3px,
		rgba(62, 203, 255, 0.03) 3px,
		rgba(62, 203, 255, 0.03) 4px
	);
	pointer-events: none;
	animation: lx-dm-scanlines 8s linear infinite;
}
@keyframes lx-dm-scanlines {
	to {
		transform: translateY(20px);
	}
}
.lx-dm-boot__orbit {
	position: relative;
	width: 120px;
	height: 120px;
	margin-bottom: 4px;
}
.lx-dm-boot__orbit--sm {
	width: 42px;
	height: 42px;
	margin: 0;
}
.lx-dm-boot__ring {
	position: absolute;
	inset: 0;
	border: 2px solid transparent;
	border-top-color: #3ecbff;
	border-right-color: rgba(62, 203, 255, 0.35);
	border-radius: 50%;
	animation: lx-dm-spin 1.1s linear infinite;
	box-shadow: 0 0 18px rgba(62, 203, 255, 0.25);
}
.lx-dm-boot__ring--2 {
	inset: 14px;
	border-top-color: #ff00aa;
	border-right-color: rgba(255, 0, 170, 0.3);
	animation-duration: 1.6s;
	animation-direction: reverse;
}
.lx-dm-boot__core {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 22px;
	height: 22px;
	margin: -11px 0 0 -11px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #9ef0ff, #1a8fd4 55%, #062038);
	box-shadow: 0 0 20px rgba(62, 203, 255, 0.85), 0 0 40px rgba(62, 203, 255, 0.35);
	animation: lx-dm-pulse 1.2s ease-in-out infinite;
}
.lx-dm-boot__orbit--sm .lx-dm-boot__core {
	width: 12px;
	height: 12px;
	margin: -6px 0 0 -6px;
}
.lx-dm-boot__scan {
	position: absolute;
	left: 8%;
	right: 8%;
	height: 2px;
	top: 50%;
	background: linear-gradient(90deg, transparent, #3ecbff, transparent);
	animation: lx-dm-radar 1.8s ease-in-out infinite;
	opacity: 0.85;
}
@keyframes lx-dm-radar {
	0%,
	100% {
		transform: translateY(-36px);
		opacity: 0.2;
	}
	50% {
		transform: translateY(36px);
		opacity: 1;
	}
}
@keyframes lx-dm-pulse {
	0%,
	100% {
		transform: scale(1);
		opacity: 1;
	}
	50% {
		transform: scale(1.15);
		opacity: 0.85;
	}
}
.lx-dm-boot__dot {
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #3ecbff;
	box-shadow: 0 0 8px #3ecbff;
	animation: lx-dm-orbit 2.4s linear infinite;
}
.lx-dm-boot__dot--a {
	offset-path: path('M60,10 A50,50 0 1,1 59.9,10');
	animation-delay: 0s;
}
.lx-dm-boot__dot--b {
	background: #ff00aa;
	box-shadow: 0 0 8px #ff00aa;
	animation-duration: 3s;
	animation-delay: -0.8s;
}
.lx-dm-boot__dot--c {
	background: #b388ff;
	box-shadow: 0 0 8px #b388ff;
	animation-duration: 3.6s;
	animation-delay: -1.4s;
}
@keyframes lx-dm-orbit {
	0% {
		transform: rotate(0deg) translateX(54px) rotate(0deg);
	}
	100% {
		transform: rotate(360deg) translateX(54px) rotate(-360deg);
	}
}
.lx-dm-boot__dot--a {
	left: 50%;
	top: 50%;
	margin: -3px 0 0 -3px;
}
.lx-dm-boot__dot--b {
	left: 50%;
	top: 50%;
	margin: -3px 0 0 -3px;
	animation-name: lx-dm-orbit-b;
}
.lx-dm-boot__dot--c {
	left: 50%;
	top: 50%;
	margin: -3px 0 0 -3px;
	animation-name: lx-dm-orbit-c;
}
@keyframes lx-dm-orbit-b {
	0% {
		transform: rotate(120deg) translateX(46px) rotate(-120deg);
	}
	100% {
		transform: rotate(480deg) translateX(46px) rotate(-480deg);
	}
}
@keyframes lx-dm-orbit-c {
	0% {
		transform: rotate(240deg) translateX(38px) rotate(-240deg);
	}
	100% {
		transform: rotate(600deg) translateX(38px) rotate(-600deg);
	}
}
.lx-dm-boot__pct {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: #7fe8ff;
	text-shadow: 0 0 16px rgba(62, 203, 255, 0.55);
	font-variant-numeric: tabular-nums;
}
.lx-dm-boot__bar {
	width: min(320px, 70vw);
	height: 6px;
	border-radius: 99px;
	background: rgba(62, 203, 255, 0.12);
	border: 1px solid rgba(62, 203, 255, 0.28);
	overflow: hidden;
}
.lx-dm-boot__bar i {
	display: block;
	height: 100%;
	width: 0;
	border-radius: 99px;
	background: linear-gradient(90deg, #1a8fd4, #3ecbff 50%, #ff00aa);
	box-shadow: 0 0 12px rgba(62, 203, 255, 0.65);
	transition: width 0.28s ease;
}
.lx-dm-boot__t {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #d7eafc;
}
.lx-dm-boot__steps {
	list-style: none;
	margin: 6px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 14px;
	font-size: 12px;
	color: rgba(180, 210, 235, 0.55);
}
.lx-dm-boot__steps li {
	position: relative;
	padding-left: 14px;
}
.lx-dm-boot__steps li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 5px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(62, 203, 255, 0.25);
}
.lx-dm-boot__steps li.is-on {
	color: #9ef0ff;
	font-weight: 700;
}
.lx-dm-boot__steps li.is-on::before {
	background: #3ecbff;
	box-shadow: 0 0 8px #3ecbff;
}
.lx-dm-boot__steps li.is-done {
	color: rgba(120, 220, 160, 0.85);
}
.lx-dm-boot__steps li.is-done::before {
	background: #3dcea0;
}
.lx-dm-boot--mini {
	flex-direction: row;
	min-height: 0;
	padding: 12px 16px;
	gap: 12px;
	background: transparent;
}
.lx-dm-boot--mini::before {
	display: none;
}

/* 轻量 SVG 拓扑 */
.lx-dm-lite-wrap {
	margin-top: 12px;
	border: 1px solid rgba(62, 203, 255, 0.28);
	background: rgba(0, 10, 22, 0.55);
	overflow: hidden;
}
.lx-dm-lite-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 12px;
	border-bottom: 1px solid rgba(62, 203, 255, 0.16);
	font-size: 13px;
	color: #e8f4ff;
}
.lx-dm-lite-host {
	height: 280px;
	background: #060d18;
}
.lx-dm-lite-svg {
	display: block;
	width: 100%;
	height: 100%;
}
.lx-dm-lite-node rect {
	fill: rgba(10, 28, 52, 0.92);
	stroke: rgba(62, 203, 255, 0.55);
	stroke-width: 1.25;
	filter: drop-shadow(0 0 6px rgba(62, 203, 255, 0.2));
}
.lx-dm-lite-t1 {
	fill: #f0f8ff;
	font-size: 12px;
	font-weight: 700;
	font-family: inherit;
}
.lx-dm-lite-t2 {
	fill: #7aa8c8;
	font-size: 10px;
	font-family: inherit;
}
.lx-dm-lite-edge {
	fill: none;
	stroke: rgba(62, 203, 255, 0.55);
	stroke-width: 1.5;
}
.lx-dm-lite-elabel {
	fill: #9ec9e8;
	font-size: 10px;
	text-anchor: middle;
	font-family: inherit;
}
.lx-dm-lite-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px 10px;
	border-top: 1px solid rgba(62, 203, 255, 0.12);
	flex-wrap: wrap;
}
.lx-dm-lite-tip {
	font-size: 12px;
}
.lx-dm-demo-detail-text {
	margin: 10px 0 0;
	color: #cfe0f4;
	line-height: 1.55;
	font-size: 14px;
}
.lx-dm-demo-ent-list {
	margin-top: 12px;
}
.lx-dm-modal__body {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding: 16px 18px;
	scrollbar-width: thin;
	scrollbar-color: rgba(62, 203, 255, 0.55) rgba(0, 16, 32, 0.45);
}
.lx-dm-modal__body::-webkit-scrollbar {
	width: 8px;
}
.lx-dm-modal__body::-webkit-scrollbar-track {
	background: rgba(0, 16, 32, 0.5);
	border-radius: 8px;
}
.lx-dm-modal__body::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, rgba(62, 203, 255, 0.75), rgba(91, 140, 255, 0.55));
	border-radius: 8px;
	border: 2px solid rgba(6, 10, 20, 0.6);
}
.lx-dm-modal__foot {
	flex: 0 0 auto;
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	padding: 12px 18px;
	border-top: 1px solid rgba(62, 203, 255, 0.18);
}
.lx-dm-demo-detail-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}
.lx-dm-demo-detail-meta span {
	padding: 3px 8px;
	font-size: 12px;
	font-weight: 700;
	border: 1px solid rgba(62, 203, 255, 0.3);
	color: #bfe9ff;
}
.lx-dm-demo-detail-desc,
.lx-dm-demo-detail-effect {
	margin: 0 0 10px;
	color: #cfe0f4;
	line-height: 1.55;
	font-size: 14px;
}
.lx-dm-demo-sec {
	margin: 14px 0 8px;
	color: var(--dm-cyan);
	font-size: 14px;
}
.lx-dm-demo-ents {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
@media (max-width: 700px) {
	.lx-dm-demo-ents {
		grid-template-columns: 1fr;
	}
}
.lx-dm-demo-ent {
	border: 1px solid rgba(62, 203, 255, 0.2);
	background: rgba(0, 0, 0, 0.25);
	padding: 8px 10px;
}
.lx-dm-demo-ent h4 {
	margin: 0 0 6px;
	font-size: 13px;
	color: #fff;
}
.lx-dm-demo-ent h4 small {
	color: var(--dm-muted);
	font-weight: 500;
}
.lx-dm-demo-ent table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
}
.lx-dm-demo-ent th,
.lx-dm-demo-ent td {
	padding: 3px 4px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	text-align: left;
	color: #d5e4f6;
}
.lx-dm-demo-ent th {
	color: var(--dm-muted);
}

/* ── E-R 画布 / 关系图 ── */
.lx-dm-canvas-panel {
	margin: 12px 0;
	border: 1px solid rgba(62, 203, 255, 0.3);
	background: rgba(0, 10, 22, 0.55);
	overflow: hidden;
}
.lx-dm-canvas-panel > .lx-dm-panel__head {
	padding: 8px 12px;
	border-bottom: 1px solid rgba(62, 203, 255, 0.18);
}
.lx-dm-panel__head--row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.lx-dm-viz-switch {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}
.lx-dm-viz-switch .lx-dm-btn.is-active {
	border-color: #3ecbff;
	background: linear-gradient(90deg, rgba(26, 143, 212, 0.85), rgba(62, 203, 255, 0.75));
	color: #041018;
	font-weight: 800;
}
.lx-dm-canvas-host {
	height: 520px;
	position: relative;
}
.lx-dm-canvas-host--modal {
	height: 480px;
	border: 1px solid rgba(62, 203, 255, 0.25);
	margin-top: 0;
}
.lx-dm-canvas-edit-wrap {
	position: relative;
}
.lx-dm-er-graph-host {
	min-height: 480px;
	height: 520px;
	position: relative;
	background:
		radial-gradient(ellipse 70% 50% at 20% 10%, rgba(62, 203, 255, 0.07), transparent 55%),
		radial-gradient(ellipse 50% 40% at 90% 80%, rgba(255, 0, 170, 0.05), transparent 50%),
		#050b16;
}
.lx-dm-er-graph-host--modal {
	height: 460px;
	min-height: 420px;
	border: 1px solid rgba(62, 203, 255, 0.22);
	border-radius: 8px;
	overflow: hidden;
}
.lx-dm-er-graph {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.lx-dm-er-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 12px;
	border-bottom: 1px solid rgba(62, 203, 255, 0.14);
	background: rgba(4, 12, 24, 0.85);
	flex: 0 0 auto;
}
.lx-dm-er-stat {
	font-size: 12px;
	color: #9ec9e8;
}
.lx-dm-er-stat b {
	color: #3ecbff;
	font-variant-numeric: tabular-nums;
}
.lx-dm-er-tools {
	display: flex;
	gap: 6px;
}
.lx-dm-er-tool {
	appearance: none;
	min-width: 36px;
	height: 28px;
	padding: 0 10px;
	border-radius: 6px;
	border: 1px solid rgba(62, 203, 255, 0.3);
	background: rgba(0, 18, 36, 0.7);
	color: #d6eefc;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}
.lx-dm-er-tool:hover {
	border-color: #3ecbff;
	color: #fff;
	box-shadow: 0 0 12px rgba(62, 203, 255, 0.2);
}
.lx-dm-er-vp {
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
	cursor: grab;
	touch-action: none;
}
.lx-dm-er-vp.is-panning {
	cursor: grabbing;
}
.lx-dm-er-svg {
	width: 100%;
	height: 100%;
	display: block;
}
.lx-dm-er-empty {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: #9ec9e8;
	padding: 24px;
	text-align: center;
}
.lx-dm-er-empty__icon {
	font-size: 28px;
	color: #3ecbff;
	opacity: 0.7;
	margin-bottom: 4px;
}
.lx-dm-er-node__shadow {
	fill: rgba(0, 0, 0, 0.35);
}
.lx-dm-er-node__body {
	fill: rgba(8, 18, 34, 0.96);
	stroke-width: 1.5;
}
.lx-dm-er-node__head {
	opacity: 0.92;
}
.lx-dm-er-node__title {
	fill: #041018;
	font-size: 12px;
	font-weight: 800;
	font-family: system-ui, sans-serif;
}
.lx-dm-er-node__sub {
	fill: rgba(4, 16, 24, 0.65);
	font-size: 9px;
	font-family: ui-monospace, monospace;
}
.lx-dm-er-field {
	fill: #b8d4ea;
	font-size: 10px;
	font-family: ui-monospace, Consolas, monospace;
}
.lx-dm-er-field.is-pk {
	fill: #ffe08a;
	font-weight: 700;
}
.lx-dm-er-field.is-more {
	fill: #7aa8c8;
	font-style: italic;
}
.lx-dm-er-edge__glow {
	fill: none;
	stroke: rgba(62, 203, 255, 0.15);
	stroke-width: 6;
}
.lx-dm-er-edge__line {
	fill: none;
	stroke: #3ecbff;
	stroke-width: 1.6;
	opacity: 0.85;
}
.lx-dm-er-edge__badge-bg {
	fill: rgba(6, 16, 30, 0.92);
	stroke: rgba(62, 203, 255, 0.35);
	stroke-width: 1;
}
.lx-dm-er-edge__badge {
	fill: #7adeff;
	font-size: 10px;
	font-weight: 800;
	text-anchor: middle;
	font-family: system-ui, sans-serif;
}
.lx-dm-er-graph.is-hl .lx-dm-er-edge.is-dim,
.lx-dm-er-graph.is-hl .lx-dm-er-node.is-dim {
	opacity: 0.18;
}
.lx-dm-er-graph.is-hl .lx-dm-er-edge.is-on .lx-dm-er-edge__line {
	stroke: #ff00aa;
	stroke-width: 2.2;
	opacity: 1;
}
.lx-dm-er-graph.is-hl .lx-dm-er-edge.is-on .lx-dm-er-edge__glow {
	stroke: rgba(255, 0, 170, 0.28);
}
.lx-dm-er-graph.is-hl .lx-dm-er-node.is-on .lx-dm-er-node__body {
	filter: drop-shadow(0 0 10px rgba(62, 203, 255, 0.45));
}
.lx-dm-er-node {
	cursor: default;
}
.lx-dm-er-node:hover .lx-dm-er-node__body {
	filter: drop-shadow(0 0 8px rgba(62, 203, 255, 0.35));
}
.lx-dm-demo-rel-list {
	margin-top: 14px;
}
.lx-dm-demo-rel-table-wrap {
	overflow: auto;
	border: 1px solid rgba(62, 203, 255, 0.22);
	background: rgba(0, 10, 22, 0.45);
}
.lx-dm-demo-rel-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
}
.lx-dm-demo-rel-table th,
.lx-dm-demo-rel-table td {
	padding: 8px 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	text-align: left;
	color: #d5e4f6;
	vertical-align: top;
}
.lx-dm-demo-rel-table th {
	color: var(--dm-muted);
	font-weight: 700;
	background: rgba(0, 20, 40, 0.55);
	white-space: nowrap;
}
.lx-dm-demo-rel-table small {
	color: #7aa8c8;
	margin-left: 2px;
}
.lx-dm-demo-rel-table .lx-dm-rel-type {
	color: #7fe8ff;
	font-weight: 800;
	white-space: nowrap;
}
.lx-dm-canvas-lazy-wrap .lx-dm-lite-head {
	padding: 8px 12px;
	border: 1px solid rgba(62, 203, 255, 0.22);
	border-bottom: none;
	background: rgba(0, 16, 32, 0.55);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: #e8f4ff;
}
.lx-dm-modal__panel--wide {
	width: min(1100px, 96vw);
	max-height: 92vh;
}
.lx-dm-split--secondary {
	margin-top: 10px;
	opacity: 0.98;
}

.lx-dmc {
	height: 100%;
	display: flex;
	flex-direction: column;
	background:
		radial-gradient(ellipse 80% 60% at 50% 0%, rgba(62, 203, 255, 0.06), transparent 55%),
		linear-gradient(180deg, #070d18 0%, #0a1220 100%);
	user-select: none;
}
.lx-dmc-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	padding: 8px 10px;
	border-bottom: 1px solid rgba(62, 203, 255, 0.2);
	background: rgba(8, 16, 32, 0.95);
	flex: 0 0 auto;
}
.lx-dmc-tool {
	padding: 5px 10px;
	border: 1px solid rgba(62, 203, 255, 0.3);
	background: rgba(0, 20, 40, 0.7);
	color: #d7eafc;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
}
.lx-dmc-tool:hover {
	border-color: #3ecbff;
	color: #fff;
}
.lx-dmc-tool.is-active {
	background: linear-gradient(90deg, #1a8fd4, #3ecbff);
	color: #041018;
	border-color: transparent;
}
.lx-dmc-tool:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}
.lx-dmc-sep {
	width: 1px;
	height: 18px;
	background: rgba(62, 203, 255, 0.25);
	margin: 0 4px;
}
.lx-dmc-reltype {
	font-size: 12px;
	color: #a8c0d8;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.lx-dmc-reltype select {
	padding: 3px 6px;
	border: 1px solid rgba(62, 203, 255, 0.3);
	background: #0a1528;
	color: #e8f4ff;
	font-family: inherit;
}
.lx-dmc-zoom {
	margin-left: auto;
	font-size: 12px;
	font-weight: 700;
	color: #3ecbff;
	min-width: 44px;
	text-align: right;
}
.lx-dmc-vp {
	flex: 1 1 auto;
	min-height: 0;
	position: relative;
	overflow: hidden;
	cursor: default;
	outline: none;
}
.lx-dmc-vp[data-mode="pan"],
.lx-dmc-vp.is-space,
.lx-dmc-vp.is-panning {
	cursor: grab;
}
.lx-dmc-vp.is-panning {
	cursor: grabbing;
}
.lx-dmc-vp[data-mode="connect"] {
	cursor: crosshair;
}
.lx-dmc-stage {
	position: absolute;
	left: 0;
	top: 0;
	transform-origin: 0 0;
}
.lx-dmc-svg {
	position: absolute;
	left: 0;
	top: 0;
	overflow: visible;
	pointer-events: none;
}
.lx-dmc-edge {
	fill: none;
	stroke: #3ecbff;
	stroke-width: 2.2;
	pointer-events: stroke;
	cursor: pointer;
}
.lx-dmc-edge.is-selected {
	stroke: #ff4ec8;
	stroke-width: 3;
}
.lx-dmc-edge-label {
	fill: #9edfff;
	font-size: 11px;
	font-weight: 700;
	pointer-events: none;
	text-anchor: middle;
}
.lx-dmc-temp-line {
	pointer-events: none;
}
.lx-dmc-nodes {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.lx-dmc-node {
	position: absolute;
	border: 1.5px solid rgba(62, 203, 255, 0.55);
	background: linear-gradient(180deg, rgba(16, 28, 48, 0.98), rgba(10, 18, 34, 0.98));
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(62, 203, 255, 0.08);
	border-radius: 4px;
	overflow: visible;
	cursor: grab;
}
.lx-dmc-node.is-selected {
	border-color: #ff4ec8;
	box-shadow: 0 0 0 2px rgba(255, 78, 200, 0.35), 0 6px 18px rgba(0, 0, 0, 0.4);
}
.lx-dmc-node--concept {
	border-radius: 18px;
	background: linear-gradient(160deg, rgba(40, 20, 60, 0.95), rgba(20, 30, 60, 0.95));
}
.lx-dmc-node--physical {
	border-color: rgba(120, 200, 120, 0.55);
}
.lx-dmc-node__head {
	position: relative;
	padding: 8px 12px 6px;
	background: rgba(62, 203, 255, 0.12);
	border-bottom: 1px solid rgba(62, 203, 255, 0.2);
	border-radius: 3px 3px 0 0;
}
.lx-dmc-node--concept .lx-dmc-node__head {
	background: rgba(180, 80, 255, 0.15);
	border-bottom-color: rgba(180, 80, 255, 0.25);
	border-radius: 17px 17px 0 0;
	text-align: center;
}
.lx-dmc-node__head strong {
	display: block;
	font-size: 13px;
	color: #fff;
	font-weight: 800;
}
.lx-dmc-node__head small {
	display: block;
	font-size: 11px;
	color: #8eb0cc;
	font-family: Consolas, monospace;
}
.lx-dmc-node__body {
	padding: 4px 0 6px;
}
.lx-dmc-field {
	display: flex;
	justify-content: space-between;
	gap: 6px;
	padding: 2px 10px;
	font-size: 11px;
	color: #cfe0f4;
}
.lx-dmc-field.is-pk .lx-dmc-field__name {
	color: #ffd36a;
	font-weight: 700;
}
.lx-dmc-field__type {
	color: #7a9ab8;
	font-family: Consolas, monospace;
	font-size: 10px;
}
.lx-dmc-field--concept {
	justify-content: center;
	padding: 10px;
	color: #d8c8ff;
}
.lx-dmc-port {
	position: absolute;
	top: 50%;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border-radius: 50%;
	background: #3ecbff;
	border: 2px solid #0a1528;
	box-shadow: 0 0 8px rgba(62, 203, 255, 0.6);
	cursor: crosshair;
	z-index: 2;
}
.lx-dmc-port--in {
	left: -7px;
}
.lx-dmc-port--out {
	right: -7px;
	background: #ff4ec8;
	box-shadow: 0 0 8px rgba(255, 78, 200, 0.55);
}
.lx-dmc-marquee {
	position: absolute;
	border: 1px dashed rgba(0, 240, 255, 0.7);
	background: rgba(0, 240, 255, 0.08);
	pointer-events: none;
	z-index: 5;
}
.lx-dmc-hint {
	flex: 0 0 auto;
	padding: 5px 10px;
	font-size: 11px;
	color: #7a9ab8;
	border-top: 1px solid rgba(62, 203, 255, 0.12);
	background: rgba(0, 0, 0, 0.25);
}

/* 游客态提示 */
.lx-dm-guest-box {
	padding: 10px 4px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-start;
}
.lx-dm-personal-ops {
	position: relative;
}
.lx-dm-login-tip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.lx-dm-login-tip p {
	margin: 0;
	flex: 1 1 240px;
	line-height: 1.5;
}
