.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:12px;padding:18px 30px 18px 26px;border-radius:999px;text-decoration:none;background:linear-gradient(135deg,#69b7b0,#4a8e8e);color:#fff;font-size:17px;font-weight:700;letter-spacing:.1px;box-shadow:0 10px 32px rgba(105,183,176,.5),0 2px 10px rgba(0,0,0,.2);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 14px 40px rgba(105,183,176,.6),0 3px 12px rgba(0,0,0,.24)}.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:40px;height:40px;margin:-20px 0 0 -20px;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:19px;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}}