/* HBF guided-tour styling — mobile-safe, dialog, >=44px touch targets. */
.hbfg-root{position:fixed;inset:0;z-index:100000;font-family:Inter,system-ui,sans-serif}
.hbfg-dim{position:fixed;inset:0;background:rgba(6,4,16,.72)}
.hbfg-spot{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px rgba(6,4,16,.72);
  outline:2px solid rgba(168,85,247,.9);transition:all .18s ease;pointer-events:auto;cursor:not-allowed}
@media (prefers-reduced-motion: reduce){.hbfg-spot{transition:none}}

.hbfg-pop{position:fixed;width:min(360px,calc(100vw - 24px));background:#0b0716;color:#f5f2ff;
  border:1px solid rgba(139,92,246,.45);border-radius:16px;padding:16px 16px 12px;
  box-shadow:0 24px 70px rgba(0,0,0,.55);z-index:100001}
.hbfg-progress{font:600 11px/1 ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#a78bfa;margin-bottom:6px}
.hbfg-title{margin:0 0 6px;font-size:1rem;color:#fff}
.hbfg-desc{margin:0 0 12px;font-size:.9rem;line-height:1.55;color:#c8c1d8}
.hbfg-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hbfg-spacer{flex:1}
.hbfg-foot button{min-height:44px;border-radius:10px;padding:0 16px;font:600 13px Inter,sans-serif;cursor:pointer;border:1px solid transparent}
.hbfg-next{background:linear-gradient(100deg,#7c5cff,#a855f7);color:#fff}
.hbfg-prev{background:transparent;border-color:rgba(255,255,255,.18);color:#e7e2f5}
.hbfg-skip{margin-right:auto;background:transparent;border-color:rgba(255,255,255,.14);color:#c8c1d8}
.hbfg-foot button:focus-visible{outline:2px solid #67e6ff;outline-offset:2px}

/* invitation card */
.hbfg-invite{position:fixed;right:16px;bottom:16px;z-index:99999;width:min(320px,calc(100vw - 24px));
  background:#0b0716;color:#f5f2ff;border:1px solid rgba(139,92,246,.45);border-radius:16px;padding:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.5)}
.hbfg-invite h2{margin:0 0 6px;font-size:1rem;color:#fff}
.hbfg-invite p{margin:0 0 12px;font-size:.88rem;color:#c8c1d8;line-height:1.5}
.hbfg-invite-btns{display:flex;gap:8px}
.hbfg-invite-btns button{min-height:44px;border-radius:10px;padding:0 16px;font:600 13px Inter;cursor:pointer;border:1px solid transparent}
.hbfg-start{background:linear-gradient(100deg,#7c5cff,#a855f7);color:#fff;flex:1}
.hbfg-dismiss{background:transparent;border-color:rgba(255,255,255,.16);color:#c8c1d8}

/* persistent help button + menu */
.hbfg-help{position:fixed;left:16px;bottom:16px;z-index:99998;width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(139,92,246,.5);background:#130d26;color:#e7e2f5;font:700 18px Inter;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.45)}
.hbfg-help:focus-visible{outline:2px solid #67e6ff;outline-offset:2px}
.hbfg-help-menu{position:fixed;left:16px;bottom:70px;z-index:99998;background:#0b0716;color:#f5f2ff;
  border:1px solid rgba(139,92,246,.4);border-radius:12px;padding:8px;min-width:230px;box-shadow:0 16px 50px rgba(0,0,0,.5)}
.hbfg-help-title{font:600 11px ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:#8d84ad;padding:4px 8px}
.hbfg-help-menu button,.hbfg-help-menu a{display:block;width:100%;text-align:left;min-height:40px;line-height:40px;
  background:transparent;border:0;color:#e7e2f5;padding:0 8px;border-radius:8px;font:500 13px Inter;cursor:pointer;text-decoration:none}
.hbfg-help-menu button:hover,.hbfg-help-menu a:hover{background:rgba(124,92,255,.16)}

/* one-time hint */
.hbfg-hint{position:absolute;z-index:99997;max-width:270px;background:#130d26;color:#f0ecff;
  border:1px solid rgba(139,92,246,.45);border-radius:10px;padding:10px 12px;font:500 12.5px Inter;
  box-shadow:0 12px 34px rgba(0,0,0,.45);display:flex;gap:10px;align-items:flex-start}
.hbfg-hint button{margin-top:-2px;min-height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.18);
  background:transparent;color:#c8c1d8;font:600 12px Inter;cursor:pointer;white-space:nowrap;padding:0 10px}

/* hide floating controls while a tour/dialog is open so they can't cover the popover */
.hbfg-touring #hbf-launcher,.hbfg-touring .hbfg-help,.hbfg-touring .hbfg-help-menu{opacity:.12;pointer-events:none;filter:grayscale(1)}
/* centered accessible info dialog (Scientific status / Keyboard help / etc.) */
.hbfg-pop.hbfg-info{top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 24px));max-height:80dvh;overflow:auto}
.hbfg-info-body ul{margin:6px 0 0 18px;padding:0}
.hbfg-info-body li{margin:3px 0}
.hbfg-info-body p{margin:0 0 8px}
/* safe-area insets */
.hbfg-help{left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom))}

@media (max-width:640px){
  .hbfg-pop{width:calc(100vw - 24px);max-height:min(52dvh,420px);overflow-y:auto}
  .hbfg-pop.hbfg-info{max-height:80dvh}
  .hbfg-foot{gap:8px}
}
