/* Lumi v4.7: full-resolution approved mascot, independent light switch and sharp reactions. */
.lumi-v47-controls{display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:wrap;margin:0 0 12px;padding:0 0 11px;border-bottom:1px solid rgba(30,134,92,.19);box-sizing:border-box}
.lumi-v47-control{appearance:none;-webkit-appearance:none;min-height:42px;min-width:0;padding:8px 12px!important;border-radius:999px!important;border:1px solid #a2d3bb!important;background:#fff!important;color:#086147!important;font:750 12px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;cursor:pointer;touch-action:manipulation}
.lumi-v47-control:active{transform:scale(.97)}.lumi-v47-control:focus-visible{outline:3px solid #1fcf9a!important;outline-offset:2px}
body.lumi-night .lumi-v47-controls{border-color:#4b8b6e}body.lumi-night .lumi-v47-control{background:#2a5c45!important;color:#eafff3!important;border-color:#7ac8a0!important}
/* Remove the low-resolution sprite swap on full-size hero; preserve crisp optical edges. */
body.home-v6 .v6-mascot-scene .lumi-3d-mascot{image-rendering:auto!important;object-fit:contain!important;filter:drop-shadow(0 14px 19px rgba(3,62,42,.21))!important;will-change:transform}
body.lumi-night .v6-mascot-scene .lumi-3d-mascot{filter:drop-shadow(0 0 11px rgba(5,244,160,.26)) drop-shadow(0 16px 18px rgba(0,0,0,.28))!important}
body .lumi-robot-inline-image,body .lumi-robot-voucher{image-rendering:auto!important;object-fit:contain!important}
body.lumi-night .lumi-robot-inline-image,body.lumi-night .lumi-robot-voucher{filter:drop-shadow(0 0 8px rgba(17,220,142,.31))!important}
.lumi-v47-reaction{position:absolute;top:9%;left:17%;z-index:5;padding:6px 9px;background:#fffef8ee;border:1px solid #a8e0c0;border-radius:999px;box-shadow:0 6px 17px #0b76512a;font-size:20px;line-height:1;pointer-events:none}
body.lumi-night .lumi-v47-reaction{background:#194737;color:#f1fff5;border-color:#58a98c}
/* Distinct 3D-like body movements. No low-res hero asset is ever displayed. */
@keyframes lumi-v47-wave{0%{transform:rotate(0) translateY(0)}30%{transform:rotate(4deg) translateY(-9px)}65%{transform:rotate(-3deg) translateY(-4px)}100%{transform:rotate(0) translateY(0)}}
@keyframes lumi-v47-think{0%{transform:rotate(0)}40%{transform:rotate(-6deg) translateY(4px)}75%{transform:rotate(-4deg)}100%{transform:rotate(0)}}
@keyframes lumi-v47-point{0%{transform:translateX(0)}40%{transform:translateX(10px) rotate(4deg)}75%{transform:translateX(6px) rotate(2deg)}100%{transform:translateX(0)}}
@keyframes lumi-v47-joy{0%{transform:scale(1) translateY(0)}38%{transform:scale(1.035) translateY(-15px) rotate(-3deg)}68%{transform:scale(1.015) translateY(-7px) rotate(3deg)}100%{transform:scale(1) translateY(0)}}
body.home-v6 .v6-mascot-scene.lumi-v47-react .lumi-3d-mascot{animation:lumi-v47-wave .86s ease-out both!important}
body.home-v6 .v6-mascot-scene.lumi-v47-react[data-lumi-expression="point"] .lumi-3d-mascot,body.home-v6 .v6-mascot-scene.lumi-v47-react[data-lumi-expression="plans"] .lumi-3d-mascot{animation-name:lumi-v47-point!important}
body.home-v6 .v6-mascot-scene.lumi-v47-react[data-lumi-expression="think"] .lumi-3d-mascot,body.home-v6 .v6-mascot-scene.lumi-v47-react[data-lumi-expression="laptop"] .lumi-3d-mascot{animation-name:lumi-v47-think!important}
body.home-v6 .v6-mascot-scene.lumi-v47-react:is([data-lumi-expression="cheer"],[data-lumi-expression="celebrate"],[data-lumi-expression="jump"],[data-lumi-expression="thumbs"]) .lumi-3d-mascot{animation-name:lumi-v47-joy!important}
/* Checkout's mascot is vertically centered using translate(-50%); never override that axis. */
@keyframes lumi-v47-inline{0%,100%{transform:translateY(-50%) rotate(0)}45%{transform:translateY(calc(-50% - 8px)) rotate(-4deg)}}
.lumi-v47-react .lumi-robot-inline-image{animation:lumi-v47-inline .75s ease-out both!important}
.lumi-v47-react .lumi-robot-voucher{animation:lumi-v47-wave .8s ease-out both!important}
@media(max-width:680px){.lumi-v47-reaction{left:calc(50% + 70px);top:3%}.lumi-v47-controls{gap:8px}.lumi-v47-control{flex:1 1 110px!important}}
@media(max-width:375px){.lumi-v47-reaction{left:calc(50% + 59px)}}
@media(prefers-reduced-motion:reduce){body.home-v6 .v6-mascot-scene.lumi-v47-react .lumi-3d-mascot,.lumi-v47-react .lumi-robot-inline-image,.lumi-v47-react .lumi-robot-voucher{animation:none!important;transition:none!important}}
