/* Label Crop — premium mouse (computer only): a gold "spark" arrow, a trailing gold ring and a soft
 * gold light. Buttons pull a little toward the mouse; cards light up where the mouse is. */
html.lcc-on, html.lcc-on * { cursor: none !important; }
html.lcc-on input, html.lcc-on textarea, html.lcc-on select, html.lcc-on [contenteditable] { cursor: text !important; }
.lcc-arrow, .lcc-ring, .lcc-glow { position: fixed; left: 0; top: 0; pointer-events: none; will-change: transform; transition: opacity .25s; }
.lcc-arrow { z-index: 2147483001; width: 30px; height: 30px; transform-origin: 2px 2px; filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .35)); }
.lcc-arrow svg { width: 100%; height: 100%; display: block; margin: -1px 0 0 -1px; overflow: visible; }
.lcc-arrow .tw { transform-origin: 25px 27px; animation: lcc-tw 1.2s ease-in-out infinite; }
@keyframes lcc-tw { 50% { transform: scale(.4) rotate(45deg); opacity: .5; } }
html.lcc-press .lcc-arrow svg { transform: scale(.88); transform-origin: 2px 2px; }
.lcc-ring { z-index: 2147483000; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; border: 1.5px solid rgba(243, 210, 122, .8); transition: width .25s cubic-bezier(.2, .8, .2, 1), height .25s cubic-bezier(.2, .8, .2, 1), margin .25s cubic-bezier(.2, .8, .2, 1), background .25s, border-color .25s, box-shadow .25s, opacity .25s; }
.lcc-ring.big { width: 64px; height: 64px; margin: -32px 0 0 -32px; background: rgba(243, 210, 122, .14); border-color: rgba(243, 210, 122, .95); box-shadow: 0 0 24px rgba(243, 210, 122, .35); }
html.lcc-press .lcc-ring { width: 30px; height: 30px; margin: -15px 0 0 -15px; }
html.lcc-light .lcc-ring:not(.big) { border-color: rgba(20, 33, 61, .5); }
.lcc-glow { z-index: 1; width: 560px; height: 560px; margin: -280px 0 0 -280px; border-radius: 50%; background: radial-gradient(circle, rgba(243, 210, 122, .16) 0%, rgba(243, 210, 122, .06) 35%, transparent 65%); }
html.lcc-light .lcc-glow { background: radial-gradient(circle, rgba(201, 138, 26, .09) 0%, transparent 60%); }
.lcc-spark { position: fixed; left: 0; top: 0; width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; border-radius: 50%; background: #f3d27a; box-shadow: 0 0 8px #f3d27a; pointer-events: none; z-index: 2147482999; animation: lcc-spark .7s ease-out forwards; }
@keyframes lcc-spark { to { transform: translate(var(--dx), var(--dy)) scale(0); opacity: 0; } }
.lcc-ripple { position: fixed; left: 0; top: 0; width: 20px; height: 20px; margin: -10px 0 0 -10px; border-radius: 50%; border: 2px solid #f3d27a; pointer-events: none; z-index: 2147482999; animation: lcc-ripple .6s ease-out forwards; }
@keyframes lcc-ripple { to { transform: scale(5); opacity: 0; } }
.lcc-card { --mx: 50%; --my: 50%; }
.lcc-card::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .3s; background: radial-gradient(260px circle at var(--mx) var(--my), rgba(224, 168, 58, .14), transparent 60%); }
.lcc-card:hover::after { opacity: 1; }
