#fan-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.fan-rotor {
  transform-box: view-box;
  transform-origin: 0 0;
  animation: rotor-spin var(--period, 0.9s) linear infinite;
  animation-delay: var(--phase, 0s);
}
.fan-blade { fill: #032136; opacity: .23; }
.fan-highlight { fill: none; stroke: #e1f6ff; stroke-width: .7; opacity: .35; }
.fan-cpu .fan-blade { fill: #7b3200; opacity: .30; }
.fan-cpu .fan-highlight { stroke: #fff3cb; opacity: .4; }
.hardware-lighting { visibility: hidden; }
.scene-stage.scales-ready .hardware-lighting { visibility: visible; }
.light-intensity {
  filter: brightness(1);
  animation: light-breathe 6s ease-in-out infinite;
  animation-delay: -1.5s;
}
@keyframes light-breathe {
  0%, 100% { filter: brightness(.9); } /* Minimum: 90 % */
  50% { filter: brightness(1.7); } /* Maximum: 170 % */
}
.scale-pendulum {
  position: absolute;
  /* v8.1: ring centre aligned beneath the middle fingers, at scene (1525, 250). */
  left: 82.23%;
  top: 23.70%;
  width: 17.943%;
  height: 31.881%;
  pointer-events: none;
  user-select: none;
  visibility: hidden;
  transform-origin: 50.1% 9%;
  animation: scale-sway 5.8s ease-in-out infinite;
}
.hand-occlusion {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
  visibility: hidden;
  /* Finger-only foreground, traced on the 1672 x 941 source image.
     Exclude palm, heel and wrist: the ring's lower arc stays visible in front
     of the palm while its upper arc passes behind the gripping fingers. */
  clip-path: polygon(89.2943% 25.3454%, 89.6232% 24.8406%, 90.0269% 24.9469%, 90.0867% 23.9639%, 90.4904% 23.8842%, 90.6100% 23.2997%, 90.8792% 23.1137%, 91.2081% 23.6716%, 91.5371% 23.3794%, 91.8810% 23.6982%, 92.1352% 23.8310%, 92.2697% 24.3092%, 92.5538% 24.4155%, 92.6286% 24.8406%, 92.4342% 26.0893%, 92.1800% 26.9926%, 91.9408% 27.3645%, 91.6567% 27.2051%, 91.6567% 27.5505%, 91.4025% 27.7896%, 91.0437% 27.7896%, 90.9240% 27.5239%, 90.8642% 27.2848%, 90.6250% 27.4708%, 90.3708% 27.2051%, 90.2811% 26.7535%, 89.9671% 26.9394%, 89.6980% 26.6206%, 89.6083% 26.1955%, 89.3690% 26.0361%);
}
.scene-stage.scales-ready .scale-pendulum,
.scene-stage.scales-ready .hand-occlusion { visibility: visible; }
@keyframes scale-sway {
  0%, 100% { transform: rotate(-.8deg); }
  50% { transform: rotate(.8deg); }
}
html[data-motion="off"] .fan-rotor,
html[data-motion="off"] .light-intensity,
html[data-motion="off"] .scale-pendulum { animation-play-state: paused; }
@keyframes rotor-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  html:not([data-motion="on"]) .fan-rotor,
  html:not([data-motion="on"]) .light-intensity,
  html:not([data-motion="on"]) .scale-pendulum { animation-play-state: paused; }
  html:not([data-motion="on"]) .light-intensity {
    animation: none;
    filter: brightness(1);
  }
}
