/* Local drafting marks. SVG paths stay fixed while their read heads, rules and arcs move. */
.sculpture > .om-traces {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  user-select: none;
}
.om-traces path:not([fill]), .om-traces circle {
  vector-effect: non-scaling-stroke;
}
.om-traces__ghost { stroke: #c0c8cb; stroke-width: .75; }
.om-traces__faint { stroke: #98a4a8; stroke-width: .85; }
.om-traces__ink { stroke: #68777d; stroke-width: .95; }
.om-traces__head { fill: #9b8259; }
.om-traces__gold { fill: #a18b61; }
.om-traces__sweep, .om-traces__counter, .om-traces__write { transform-origin: 0 0; }
.om-traces__leader-head { --sweep-offset: 119px; --return-offset: 26.18px; }
.om-traces__rule-head { --sweep-offset: 364px; --return-offset: 80.08px; }
@media (prefers-reduced-motion: no-preference) {
  .om-traces__sweep { animation: om-arc-read 8.4s cubic-bezier(.35,.01,.27,1) infinite; }
  .om-traces__counter { animation: om-counter-read 8.4s cubic-bezier(.35,.01,.27,1) infinite; }
  .om-traces__write { animation: om-rule-write 8.4s cubic-bezier(.37,.03,.26,1) infinite; }
  .om-traces__travel { animation: om-head-read 8.4s cubic-bezier(.37,.03,.26,1) infinite; }
  .om-traces__leader, .om-traces__leader-head { animation-delay: -.7s; }
  .om-traces__rule, .om-traces__rule-head { animation-delay: -1.5s; }
  .om-traces__pulse { animation: om-center-mark 8.4s linear infinite; }
  .om-traces__end { animation: om-lock-mark 8.4s ease-out -1.5s infinite; }
  html[data-motion-paused="true"] .om-traces *, html.page-hidden .om-traces * {
    animation-play-state: paused !important;
  }
}
@keyframes om-arc-read {
  0%,100% { transform: rotate(-110deg); opacity: .18; }
  8% { opacity: .94; }
  33%,47% { transform: rotate(46deg); opacity: .94; }
  73%,80% { transform: rotate(179deg); opacity: .12; }
  88% { opacity: 0; } 89% { transform: rotate(-110deg); opacity: 0; }
}
@keyframes om-counter-read {
  0%,100% { transform: rotate(18deg); opacity: .35; }
  43%,53% { transform: rotate(-74deg); opacity: .8; }
  84% { transform: rotate(-127deg); opacity: 0; } 85% { transform: rotate(18deg); opacity: 0; }
}
@keyframes om-rule-write {
  0%,100% { transform: scaleX(0); opacity: 0; }
  8% { opacity: .9; }
  36%,57% { transform: scaleX(1); opacity: .9; }
  78% { transform: scaleX(.22); opacity: .6; }
  87% { transform: scaleX(0); opacity: 0; }
}
@keyframes om-head-read {
  0%,100% { transform: translateX(0); opacity: 0; }
  8% { opacity: 1; }
  36%,57% { transform: translateX(var(--sweep-offset)); opacity: 1; }
  78% { transform: translateX(var(--return-offset)); opacity: .7; }
  87% { transform: translateX(0); opacity: 0; }
}
@keyframes om-center-mark { 0%,26%,89%,100% {opacity:.22} 34%,58% {opacity:1} }
@keyframes om-lock-mark { 0%,32%,66%,100% {opacity:.15} 38%,56% {opacity:1} }
@media (max-width: 860px) {
  .om-traces__faint { stroke-width: .75; }
  .om-traces__ink { stroke-width: .85; }
  .om-traces__dial { opacity: .85; }
}
