.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.u-mono {
  font-family: var(--font-num);
  font-variant-numeric: tabular-nums;
}

.u-nowrap {
  white-space: nowrap;
}

.u-hide-md-down {
  display: none;
}

/* 进场状态：内容默认保持可见。此前把整个区块设为 opacity:0，
   在整页截图、锚点跳转和快速滚动时会留下大片空白，产品图也会像丢失。
   reveal.js 仍会标记 .is-in，方便后续按需增加动效，但不能成为内容可见性的前置条件。 */
.reveal {
  transition: opacity var(--d-4) var(--e-out), transform var(--d-4) var(--e-out);
}

.js .reveal {
  opacity: 1;
  transform: none;
}

.js .reveal--left {
  transform: none;
}

.js .reveal--right {
  transform: none;
}

.js .reveal--fade {
  transform: none;
}

.js .reveal.is-in {
  opacity: 1;
  transform: none;
}

@media (min-width: 900px) {
  .u-hide-md-down {
    display: revert;
  }
}

@media (prefers-reduced-motion: reduce) {
  .js .reveal,
  .js .reveal--left,
  .js .reveal--right {
    opacity: 1;
    transform: none;
  }
}
