/* Structural rules for figure drawings. The page stylesheet sets the colours. */
.lc-fig { width: 100%; height: 100%; display: block; user-select: none; overflow: visible; }
.lc-fig .part, .lc-fig .callout { transition: transform .65s cubic-bezier(.2, .8, .2, 1), opacity .35s; }
.lc-fig.no-anim .part, .lc-fig.no-anim .callout { transition: opacity .35s; }
.lc-fig .part:not(.fixed), .lc-fig .callout { cursor: pointer; }
.lc-fig .s-body, .lc-fig .s-line, .lc-fig .s-hole, .lc-fig .s-belt-outer, .lc-fig .s-belt-inner { transition: fill .2s, stroke .2s, stroke-width .2s; }
.lc-fig .s-line, .lc-fig .s-ghost, .lc-fig .s-belt-outer, .lc-fig .s-belt-inner, .lc-fig .s-belt-teeth { fill: none; }
.lc-fig .s-belt-outer, .lc-fig .s-belt-inner, .lc-fig .s-belt-teeth { stroke-linejoin: round; }
.lc-fig .s-belt-teeth, .lc-fig .bg, .lc-fig .co-text, .lc-fig .co-pulse { pointer-events: none; }
.lc-fig .s-cover { fill-opacity: calc(1 - var(--t, 0) * .6); }
.lc-fig .callout.is-hidden { display: none; }
.lc-fig .co-pulse { transform-box: fill-box; transform-origin: center; animation: lc-pulse 2.6s ease-out infinite; }
@keyframes lc-pulse { 0% { transform: scale(1); opacity: .65; } 70%, 100% { transform: scale(2.1); opacity: 0; } }
