/* 表现层增强：静止时保留 StockLink 排版；动画只负责短暂的操作反馈。 */
:root{--motion-out:cubic-bezier(.16,1,.3,1);--motion-spring:cubic-bezier(.2,.85,.25,1.08)}
.segment-thumb{display:none;pointer-events:none}
html.fx-on .fx-segmented{position:relative;isolation:isolate}
html.fx-on .fx-segmented>.segment-thumb{display:block;position:absolute;left:0;top:0;z-index:0;border-radius:6px;background:var(--selection-bg);box-shadow:var(--shadow-xs);transform-origin:left center}
html.fx-on .fx-segmented>.btn{position:relative;z-index:1;transform:none;box-shadow:none;filter:none;transition:opacity 160ms var(--motion-out)}
html.fx-on .fx-segmented>.btn.primary{background:transparent;border-color:transparent;color:var(--sl-blue)}
html.fx-on .fx-segmented>.btn:active{opacity:.8}

/* 切换章节最多错落 120ms，长列表不排队，也不等待动画完成才能阅读。 */
html.fx-on .wiki-body .chapter>*{animation-duration:360ms;animation-timing-function:var(--motion-out)}
html.fx-on .wiki-body .chapter>*:nth-child(2){animation-delay:40ms}
html.fx-on .wiki-body .chapter>*:nth-child(3){animation-delay:80ms}
html.fx-on .wiki-body .chapter>*:nth-child(n+4){animation-delay:120ms}
html.fx-on :is(.metric-mini,.track-card,.dash-tile,.chain-card,.theme-card,.feed-card,.report-library-row){transition:transform 220ms var(--motion-out)}
@media(hover:hover){
  html.fx-on :is(.metric-mini,.track-card,.dash-tile,.chain-card,.theme-card,.feed-card,.report-library-row):hover{transform:translateY(-2px)}
}
html.fx-on :is(.metric-mini,.track-card,.dash-tile,.chain-card,.report-library-row):active{transform:translateY(0) scale(.995)}

/* 阴影固定，只移动已有图形，避免逐帧计算滤镜或重排整张图。 */
html.fx-on .theme-map-svg .theme-map-theme{transition:transform 220ms var(--motion-out)}
html.fx-on .theme-map-svg .theme-map-theme:is(:hover,:focus-visible,.is-theme-hovered){transform:translate3d(0,-4px,0) scale(1.68)!important;transition:transform 300ms var(--motion-spring)}
html.fx-on .theme-map-svg :is(.theme-map-major,.theme-map-category,.theme-map-center,.theme-map-focus-root) circle{transition:transform 240ms var(--motion-out)}
html.fx-on .theme-map-svg :is(.theme-map-major,.theme-map-category):is(:hover,:focus-visible) circle{transform:translateY(-2px) scale(1.03)!important;filter:drop-shadow(0 var(--node-shadow-y,2px) var(--node-shadow-blur,4px) rgb(33 52 77 / var(--node-shadow-alpha,.12)))}
html.fx-on .theme-map-svg :is(.theme-map-center,.theme-map-focus-root):is(:hover,:focus-visible) circle{transform:translateY(-2px) scale(1.025)!important;filter:drop-shadow(0 6px 12px rgba(48,79,121,.15))}
html.fx-on .theme-side-ranking li{transition:transform 200ms var(--motion-out)}
html.fx-on .theme-map-back{transition:transform 220ms var(--motion-out)}
html.fx-on .theme-map-back i{transition:transform 220ms var(--motion-out)}
html.fx-on .theme-map-back:hover i{transform:translateX(-2px)}

/* 一个开关覆盖全景和 Wiki；关闭后仍保留选中颜色、焦点和完整内容。 */
html:not(.fx-on) body *,html:not(.fx-on) body *::before,html:not(.fx-on) body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html:not(.fx-on) :is(.theme-map-theme,.theme-map-major circle,.theme-map-category circle,.theme-map-center circle,.theme-map-focus-root circle,.theme-side-ranking li,.theme-map-back,.metric-mini,.track-card,.dash-tile,.chain-card,.theme-card,.feed-card,.report-library-row){transform:none!important}
