/* OrbitaleRuler · 滚筒刻度尺加载组件 v1.0.0
 * 选择器均以 .orl- 为前缀，只作用于组件节点；根节点背景透明、铺满容器、不拦截点击。
 * 数字字体：Eurostile Round Extended（仅 0-9 子集），以 data URI 内嵌，避免 file:// 下的字体跨域限制；
 * 原文件见 assets/fonts/。字体版权归 (URW)++，使用前请确认授权。 */

@font-face {
  font-family: 'OrbitaleRulerDigits';
  src: url(data:font/woff;base64,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) format('woff');
  font-display: block;
}

.orl-root {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: transparent;
  contain: layout style;
  --orl-hint: #c9ffff;
}
.orl-root .orl-canvas {
  position: absolute;
  display: block;
}
.orl-root .orl-hint {
  position: absolute;
  transform: translate(-50%, 0);
  white-space: nowrap;
  color: var(--orl-hint);
  letter-spacing: 0.18em;
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
  transition: opacity 0.2s;
}
