/**
 * Lattice — 深色 / 系统深色：覆盖全局 preset 变量与顶栏、插件卡片。
 */

/* ========== 深色：固定偏好 ========== */
html.hub-scheme-dark {
	color-scheme: dark;
	--hub-scheme-base: #09090b;
	--hub-scheme-surface: #18181b;
	--hub-scheme-contrast: #fafafa;
	--hub-scheme-muted: #a1a1aa;
	--hub-scheme-line: #27272a;
	--hub-scheme-accent-1: #a78bfa;
	--hub-scheme-accent-soft: #2e1065;
	--hub-scheme-accent-glow: #22d3ee;
	--hub-scheme-ink-soft: #d4d4d8;
	--wp--preset--color--base: #09090b;
	--wp--preset--color--surface: #18181b;
	--wp--preset--color--contrast: #fafafa;
	--wp--preset--color--muted: #a1a1aa;
	--wp--preset--color--line: #27272a;
	--wp--preset--color--accent-1: #a78bfa;
	--wp--preset--color--accent-soft: #2e1065;
	--wp--preset--color--accent-glow: #22d3ee;
	--wp--preset--color--ink-soft: #d4d4d8;
}

html.hub-scheme-dark body {
	background-color: var(--hub-scheme-base);
	color: var(--hub-scheme-contrast);
}

html.hub-scheme-dark .hub-pg-header-shell {
	background: linear-gradient(
			180deg,
			color-mix(in srgb, #09090b 92%, transparent) 0%,
			color-mix(in srgb, #09090b 86%, transparent) 100%
		)
		!important;
	border-bottom-color: rgba(63, 63, 70, 0.6) !important;
	box-shadow: 0 4px 28px rgba(0, 0, 0, 0.45);
}

html.hub-scheme-dark .hub-pg-header-shell.has-contrast-background-color {
	background-color: transparent !important;
}

html.hub-scheme-dark .hub-atelier-footer {
	background-color: #050507 !important;
	color: #e4e4e7 !important;
}

/* ========== 系统偏好深色 ========== */
@media (prefers-color-scheme: dark) {
	html.hub-scheme-system {
		color-scheme: dark;
		--hub-scheme-base: #09090b;
		--hub-scheme-surface: #18181b;
		--hub-scheme-contrast: #fafafa;
		--hub-scheme-muted: #a1a1aa;
		--hub-scheme-line: #27272a;
		--hub-scheme-accent-1: #a78bfa;
		--hub-scheme-accent-soft: #2e1065;
		--hub-scheme-accent-glow: #22d3ee;
		--hub-scheme-ink-soft: #d4d4d8;
		--wp--preset--color--base: #09090b;
		--wp--preset--color--surface: #18181b;
		--wp--preset--color--contrast: #fafafa;
		--wp--preset--color--muted: #a1a1aa;
		--wp--preset--color--line: #27272a;
		--wp--preset--color--accent-1: #a78bfa;
		--wp--preset--color--accent-soft: #2e1065;
		--wp--preset--color--accent-glow: #22d3ee;
		--wp--preset--color--ink-soft: #d4d4d8;
	}

	html.hub-scheme-system body {
		background-color: var(--hub-scheme-base);
		color: var(--hub-scheme-contrast);
	}

	html.hub-scheme-system .hub-pg-header-shell {
		background: linear-gradient(
				180deg,
				color-mix(in srgb, #09090b 92%, transparent) 0%,
				color-mix(in srgb, #09090b 86%, transparent) 100%
			)
			!important;
		border-bottom-color: rgba(63, 63, 70, 0.6) !important;
	}

	html.hub-scheme-system .hub-pg-header-shell.has-contrast-background-color {
		background-color: transparent !important;
	}

	html.hub-scheme-system .hub-atelier-footer {
		background-color: #050507 !important;
		color: #e4e4e7 !important;
	}
}

/* ========== 插件卡片 / 工具条（深色下可读） ========== */
html.hub-scheme-dark .hub-prompt-toolbar,
html.hub-scheme-dark .hub-prompt-card,
html.hub-scheme-dark .hub-prompt-view-switch__group,
html.hub-scheme-dark .hub-glass-panel {
	border-color: color-mix(in srgb, var(--wp--preset--color--line) 100%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--surface) 85%, transparent);
}

html.hub-scheme-dark .hub-prompt-modal__panel {
	background: linear-gradient(
		165deg,
		color-mix(in srgb, var(--wp--preset--color--surface) 96%, #000),
		var(--wp--preset--color--base)
	);
	border-color: var(--wp--preset--color--line);
}

@media (prefers-color-scheme: dark) {
	html.hub-scheme-system .hub-prompt-toolbar,
	html.hub-scheme-system .hub-prompt-card,
	html.hub-scheme-system .hub-prompt-view-switch__group,
	html.hub-scheme-system .hub-glass-panel {
		border-color: color-mix(in srgb, var(--wp--preset--color--line) 100%, transparent);
		background: color-mix(in srgb, var(--wp--preset--color--surface) 85%, transparent);
	}

	html.hub-scheme-system .hub-prompt-modal__panel {
		background: linear-gradient(
			165deg,
			color-mix(in srgb, var(--wp--preset--color--surface) 96%, #000),
			var(--wp--preset--color--base)
		);
		border-color: var(--wp--preset--color--line);
	}
}

/* ========== 外观切换按钮 ========== */
.hub-scheme-toggle {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
}

.hub-scheme-toggle__label {
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: color-mix(in srgb, var(--wp--preset--color--base, #fafafa) 55%, transparent);
}

.hub-scheme-toggle__group {
	display: inline-flex;
	gap: 0.25rem;
	padding: 0.25rem;
	background: color-mix(in srgb, #fafafa 8%, transparent);
	border: 1px solid rgba(161, 161, 170, 0.35);
	border-radius: var(--hub-radius-md, 12px);
}

.hub-scheme-toggle__btn {
	margin: 0;
	padding: 0.35rem 0.55rem;
	font-family: inherit;
	font-size: 0.65rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: color-mix(in srgb, var(--wp--preset--color--base, #fafafa) 75%, transparent);
	background: transparent;
	border: 1px solid transparent;
	border-radius: 8px;
	cursor: pointer;
	transition:
		background 0.2s ease,
		color 0.2s ease;
}

.hub-scheme-toggle__btn:hover,
.hub-scheme-toggle__btn:focus-visible {
	color: var(--wp--preset--color--base, #fafafa);
}

.hub-scheme-toggle__btn.is-active {
	background: color-mix(in srgb, var(--wp--preset--color--base, #fafafa) 14%, transparent);
	color: var(--wp--preset--color--base, #fafafa);
	border-color: rgba(161, 161, 170, 0.4);
}

.hub-pg-header-actions {
	gap: 0.75rem 1rem;
}

@media (max-width: 782px) {
	.hub-scheme-toggle__label {
		display: none;
	}
}
