.scan-fab{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:60;display:inline-flex;align-items:center;gap:10px;padding:14px 22px 14px 18px;border-radius:999px;text-decoration:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:15px;font-weight:700;letter-spacing:.1px;box-shadow:0 8px 28px rgba(102,126,234,.45),0 2px 8px rgba(0,0,0,.18);transition:transform .18s ease,box-shadow .18s ease;animation:scan-fab-in .4s cubic-bezier(.2,.9,.3,1.2) both}@keyframes scan-fab-in{0%{transform:translateY(16px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}body:has(.privacy-banner) .scan-fab{bottom:calc(112px + env(safe-area-inset-bottom))}@media (min-width:641px){body:has(.privacy-banner) .scan-fab{bottom:calc(88px + env(safe-area-inset-bottom))}}.scan-fab:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(102,126,234,.55),0 3px 10px rgba(0,0,0,.22)}.scan-fab:active{transform:scale(.96)}.scan-fab:focus-visible{outline:3px solid #fff;outline-offset:3px}.scan-fab-icon{position:relative;display:inline-flex;align-items:center;justify-content:center}.scan-fab-icon:after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:hsla(0,0%,100%,.28);animation:scan-fab-halo 2.6s ease-out infinite;pointer-events:none}@keyframes scan-fab-halo{0%{transform:scale(.7);opacity:.55}70%,to{transform:scale(1.7);opacity:0}}.scan-fab:after{content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 12px);width:-moz-max-content;width:max-content;max-width:min(280px,72vw);padding:10px 14px;border-radius:12px;background:rgba(15,15,26,.94);color:#fff;font-size:13px;font-weight:500;line-height:1.4;text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.3);opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.scan-fab.teasing:after,.scan-fab:focus-visible:after,.scan-fab:hover:after{opacity:1;transform:translateY(0)}@media (max-width:640px){.scan-fab{padding:15px;gap:0}.scan-fab-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media (prefers-reduced-motion:reduce){.scan-fab,.scan-fab-icon:after{animation:none}}