/* =====================================================================
   古元信息官网 · 增强补丁（theme-enhance.css）
   ---------------------------------------------------------------------
   用法：在 theme.css 之后引入（与 theme-fix.css 无依赖关系，可单独使用）：
       <link rel="stylesheet" href="/web/assets/css/theme.css?v=20261022">
       <link rel="stylesheet" href="/web/assets/css/theme-enhance.css">

   内容：
     A. 圆形扩散主题切换动效（配合 app-fix.js v2 写入的 --vt-x/--vt-y/--vt-r）
     B. prefers-reduced-motion 豁免（常驻光晕/滚动提示/显现动画）
     C. 深色主题地图调和（uri.amap.com/marker 不支持自定义样式的过渡期缓解）

   注意：A 需要 app-fix.js v2；B、C 为纯 CSS，独立生效。
   ===================================================================== */

/* ---------------------------------------------------------------------
   A. 圆形扩散切换：以按钮为圆心，新主题自圆心扩展开来。
   覆盖 theme.css 中的全屏交叉淡化声明（后者仍是不支持圆形动画时的降级形态）。
   --------------------------------------------------------------------- */
@supports (view-transition-name: root) {
	::view-transition-old(root) { animation: none; }
	::view-transition-new(root) { animation: vt-reveal .5s var(--ease); }

	@keyframes vt-reveal {
		from { clip-path: circle(0 at var(--vt-x, 50%) var(--vt-y, 50%)); }
		to   { clip-path: circle(var(--vt-r, 150vmax) at var(--vt-x, 50%) var(--vt-y, 50%)); }
	}
}

/* ---------------------------------------------------------------------
   B. 减少动态效果：对偏好「减少动态效果」的用户关闭常驻动画，
   并压缩过渡时长；.reveal 内容直接可见，不依赖滚动动画。
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.glow-field span,
	.hero-visual .ring,
	.scroll-cue::after { animation: none !important; }

	/* 显现动画前置态直接解除，保证内容立即可见 */
	html.js-ready .reveal,
	html.js-ready .reveal.in {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	/* 全局过渡压缩（含主题切换的平滑过渡，对敏感用户瞬时生效） */
	*, *::before, *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}

/* ---------------------------------------------------------------------
   C. 深色主题地图调和（过渡期，根治方案见《剩余改进方案》B2：
   换成高德 JS API 地图 + setMapStyle('amap://styles/dark')）。
   uri.amap.com/marker 的 URI API 不接受地图样式参数，且 iframe 跨域 +
   sandbox 隔离，CSS 无法改写其内部底图，只能在外层做亮度调和，
   降低深色主题中浅色底图的刺眼程度。
   --------------------------------------------------------------------- */
html[data-theme="dark"] .map-embed iframe { filter: brightness(.78) saturate(.92); }
html[data-theme="dark"] .map-embed.expanded iframe { filter: brightness(.88) saturate(.95); }
