/* Home page: "welcome back" card (assets/visit.js) and the Google / Facebook / Apple buttons in it.
   Uses the page's own tokens, so it follows every style and both themes. */
.visit-prompt{position:fixed;right:20px;bottom:20px;z-index:70;width:min(380px,calc(100vw - 32px));padding:22px 22px 16px;
  background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--r,14px);box-shadow:0 24px 70px rgba(0,0,0,.28);
  opacity:0;transform:translateY(24px);transition:opacity .35s ease,transform .35s cubic-bezier(.2,.7,.2,1)}
.visit-prompt.in{opacity:1;transform:none}
.visit-prompt[hidden]{display:none}
.vp-x{position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;background:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.vp-x:hover{color:var(--text)}
.vp-title{margin:0 0 6px;font-family:var(--font-h,var(--font-d));font-size:22px;line-height:1.15;text-transform:var(--h-case,uppercase);font-weight:var(--h-weight,400);letter-spacing:var(--h-track,.02em)}
.vp-text{margin:0 0 16px;color:var(--muted);font-size:14.5px;line-height:1.5}
.vp-social{display:grid;gap:8px;margin-bottom:12px}
.vp-social a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-btn,8px);background:#fff;color:#1f1f1f;font:600 14px var(--font-b);text-decoration:none}
.vp-social a svg{width:18px;height:18px}
.vp-social .social-facebook{background:#1877f2;border-color:#1877f2;color:#fff}
.vp-social .social-apple{background:#000;border-color:#000;color:#fff}
.vp-actions{display:flex;gap:8px}
.vp-actions .btn{flex:1;justify-content:center;padding:12px 14px;font-size:14px}
.vp-later{display:block;margin:12px auto 0;border:0;background:none;color:var(--muted);font:500 13px var(--font-b);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media(max-width:560px){.visit-prompt{right:16px;left:16px;bottom:16px;width:auto}}
@media(prefers-reduced-motion:reduce){.visit-prompt{transition:none}}
