.wheel-stage{
  position:relative;width:min(300px, 72vw);aspect-ratio:1/1;
  margin:8px auto 22px;
}
.wheel-wrapper{
  width:100%;height:100%;
  transition:transform 4.2s cubic-bezier(0.17, 0.67, 0.28, 1);
  transform-origin:center center;will-change:transform;
}
.wheel-wrapper svg{width:100%;height:100%;display:block}
.wheel-pointer{
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  width:0;height:0;
  border-left:13px solid transparent;
  border-right:13px solid transparent;
  border-top:26px solid var(--gold-dk);
  z-index:3;filter:drop-shadow(0 3px 5px rgba(45,26,16,.35));
}
.wheel-pointer::after{
  content:"";position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  width:6px;height:6px;border-radius:50%;background:#f6e6bf;
  box-shadow:0 0 0 1px var(--gold-dk), inset 0 1px 1px rgba(255,255,255,.8);
}
.wheel-shine{
  position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:1;
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,.45), transparent 48%),
    radial-gradient(circle at 78% 82%, rgba(45,26,16,.1), transparent 55%);
}
.wheel-hub{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:44px;height:44px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #f6e6bf 0%, #d4b878 40%, #a8873f 100%);
  border:2px solid #fffaf0;
  box-shadow:0 3px 10px rgba(45,26,16,.4), inset 0 1px 2px rgba(255,250,230,.6), 0 0 0 1px var(--gold-dk);
  z-index:2;
}
