.stage .fl { cursor: ns-resize; }
.stage .fl.is-grabbing { cursor: grabbing; }
.stage .fl.is-done { cursor: default; }
.stage .fl .fl-book.is-held { filter: brightness(1.06); }
.stage .fl .fl-edge-line { stroke: #d4a640; stroke-width: 1.6; stroke-linecap: round; }
.stage .fl .fl-edge-glow { stroke: #f0d27a; stroke-width: 6; opacity: .32; stroke-linecap: round; }
.stage .fl .fl-edge-cap { stroke: #d4a640; stroke-width: 1.4; stroke-linecap: round; }
.stage .fl .fl-gap { stroke: #f0d27a; stroke-width: 1.3; stroke-linecap: round; }
.stage .fl .fl-lead { stroke: #f7f3ec; stroke-width: .7; opacity: .55; }
.stage .fl .fl-pill { fill: #f7f3ec; stroke: #c9bda9; stroke-width: .8; }
.stage .fl .fl-pill.is-flush { stroke: #d4a640; stroke-width: 1.1; }
.stage .fl .fl-label { font-family: var(--mono); font-size: 10px; font-weight: 500; fill: #2a2420; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.stage .fl .fl-check { fill: none; stroke: #b8872a; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.stage .fl .fl-edge.is-anim .fl-edge-line { stroke-dasharray: 1; animation: fl-draw .6s ease-out both; }
.stage .fl .fl-edge.is-anim .fl-edge-glow, .stage .fl .fl-edge.is-anim .fl-edge-cap { animation: fl-in .6s ease-out both; }
.stage .fl .fl-tag.is-anim { animation: fl-in .35s ease-out both; }
@keyframes fl-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes fl-in { from { opacity: 0; } to { opacity: 1; } }
.stage .fl.is-pale .fl-lead { stroke: #2a2420; opacity: .4; }
