.tap-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgb(10 15 40 / .65);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity 0.3s ease}.tap-overlay.tap-visible{opacity:1;pointer-events:all}.tap-modal{position:relative;width:100%;max-width:480px;background:#fff;border-radius:20px;padding:48px 40px 40px;text-align:center;box-shadow:0 8px 32px rgb(0 0 0 / .18),0 2px 8px rgb(0 0 0 / .08);transform:translateY(28px) scale(.96);transition:transform 0.38s cubic-bezier(.34,1.56,.64,1)}.tap-overlay.tap-visible .tap-modal{transform:translateY(0) scale(1)}.tap-modal::before{content:'';position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#1d4ed8,#0ea5e9,#06b6d4);border-radius:20px 20px 0 0}.tap-close{position:absolute;top:14px;right:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;transition:background 0.15s,color 0.15s;padding:0}.tap-close:hover{background:#e2e8f0;color:#0f172a}.tap-modal__icon{font-size:48px;line-height:1;margin-bottom:16px;display:block}.tap-modal__title{margin:0 0 12px;font-size:24px;font-weight:800;color:#0f172a;line-height:1.25;letter-spacing:-.02em}.tap-modal__message{margin:0 0 28px;font-size:15px;color:#475569;line-height:1.65}.tap-apply-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#1d4ed8 0%,#0ea5e9 100%);color:#ffffff!important;text-decoration:none!important;font-size:16px;font-weight:700;letter-spacing:.01em;padding:14px 32px;border-radius:12px;transition:opacity 0.15s,transform 0.15s,box-shadow 0.15s;box-shadow:0 4px 14px rgb(29 78 216 / .35);width:100%}.tap-apply-btn:hover{opacity:.92;transform:translateY(-2px);box-shadow:0 6px 20px rgb(29 78 216 / .42)}.tap-apply-btn:active{transform:translateY(0)}.tap-apply-btn svg{flex-shrink:0;transition:transform 0.15s}.tap-apply-btn:hover svg{transform:translateX(3px)}.tap-no-url{font-size:13px;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;margin:0}@media (max-width:540px){.tap-modal{padding:40px 24px 32px;border-radius:16px}.tap-modal__title{font-size:20px}.tap-modal__message{font-size:14px;margin-bottom:22px}.tap-apply-btn{font-size:15px;padding:13px 24px}}