.visual-card{background:var(--lvz-card-bg, white);border-radius:0;box-shadow:var(--lvz-card-shadow, none);color:var(--lvz-text-primary, #1a202c);overflow:hidden;display:flex;flex-direction:column;-webkit-text-size-adjust:none;text-size-adjust:none}.visual-card[data-visual-type=slicer]{overflow:visible;z-index:1}.visual-card svg{font-family:Inter,Helvetica Neue,Helvetica,system-ui,sans-serif}.visual-card svg text{stroke:transparent}.visual-card svg line,.visual-card svg circle{vector-effect:non-scaling-stroke}.visual-title{font-size:13px;font-weight:600;color:var(--lvz-text-secondary, #4a5568);padding:10px 14px 4px;flex-shrink:0}.visual-subtitle{font-size:11px;font-weight:400;color:var(--lvz-text-muted, #718096);padding:0 14px 4px;flex-shrink:0}.visual-empty{display:flex;justify-content:center;align-items:center;height:100%;color:var(--lvz-text-subtle, #a0aec0);font-size:13px}.visual-placeholder{height:100%;background:var(--lvz-row-alt, #f7fafc)}.lvz-range-thumb::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:all;width:16px;height:16px;border-radius:50%;background:var(--lvz-accent, #3182ce);border:2px solid white;box-shadow:0 1px 3px #0003;cursor:pointer}.lvz-range-thumb::-moz-range-thumb{pointer-events:all;width:12px;height:12px;border-radius:50%;background:var(--lvz-accent, #3182ce);border:2px solid white;box-shadow:0 1px 3px #0003;cursor:pointer}@keyframes lvz-grow-y{0%{transform:scaleY(0)}}@keyframes lvz-grow-x{0%{transform:scaleX(0)}}@keyframes lvz-scale-in{0%{transform:scale(0);opacity:0}}@keyframes lvz-spin-in{0%{transform:scale(.3) rotate(-90deg);opacity:0}}@keyframes lvz-draw-line{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes lvz-fade-in{0%{opacity:0}}@keyframes lvz-slide-up{0%{opacity:0;transform:translateY(12px)}}.lvz-anim-grow-y{transform-box:fill-box;transform-origin:bottom center;animation:lvz-grow-y .6s ease-out both}.lvz-anim-grow-x{transform-box:fill-box;transform-origin:left center;animation:lvz-grow-x .6s ease-out both}.lvz-anim-spin{transform-box:fill-box;transform-origin:center;animation:lvz-spin-in .7s ease-out both}.lvz-anim-draw{stroke-dasharray:1;animation:lvz-draw-line .8s ease-out both}.lvz-anim-pop{transform-box:fill-box;transform-origin:center;animation:lvz-scale-in .4s ease-out both}.lvz-anim-scale{transform-box:fill-box;transform-origin:center;animation:lvz-scale-in .5s ease-out both}.lvz-anim-fade{animation:lvz-fade-in .5s ease-out both}.lvz-anim-slide-up{animation:lvz-slide-up .5s ease-out both}
