.stage .sh-svg .sh-num { font: 500 10px var(--mono); fill: #4a3726; }
.stage .sh-svg .sh-lane { cursor: pointer; }
.stage .sh-svg .sh-sharp { cursor: grab; }
.stage .sh-svg.sh-carrying, .stage .sh-svg.sh-carrying * { cursor: grabbing; }
.stage .sh-svg.sh-cutting .sh-lane { cursor: progress; }
.stage.is-done .sh-svg .sh-lane, .stage.is-done .sh-svg .sh-sharp { cursor: default; }
.stage .sh-svg .sh-gold { stroke: #d4a640; stroke-width: 1.4; stroke-linecap: round; }
.stage .sh-svg .sh-gold-glow { stroke: #f0d27a; stroke-width: 6; opacity: .3; stroke-linecap: round; }
.stage .sh-svg .sh-pill { fill: #f7f3ec; stroke: #d6ccba; stroke-width: 1; }
.stage .sh-svg .sh-pill.is-ok { stroke: #4f7a52; }
.stage .sh-svg .sh-label { font-family: var(--mono); font-size: 13px; font-weight: 500; fill: #2a2420; font-variant-numeric: tabular-nums; }
.stage .sh-svg .sh-check { fill: none; stroke: #4f7a52; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.stage .sh-svg .sh-rv.is-anim { animation: sh-in .45s ease-out both; }
.stage .sh-svg .sh-rv.is-anim .sh-tag { animation: sh-in .35s ease-out both; }
@keyframes sh-in { from { opacity: 0; } to { opacity: 1; } }
