/* === TokenSearch Tour Engine === */
:root{--tour-bg:#080b14;--tour-surface:rgba(15,18,30,.97);--tour-border:rgba(139,92,246,.25);--tour-text:#e2e8f0;--tour-dim:#94a3b8;--tour-accent:#818cf8;--tour-glow:rgba(139,92,246,.4)}

.ts-tour-overlay{position:fixed;inset:0;z-index:10000;pointer-events:auto;transition:opacity .3s}
.ts-tour-overlay svg{width:100%;height:100%;display:block}

.ts-tour-tooltip{position:fixed;z-index:10001;background:var(--tour-surface);border:1px solid var(--tour-border);border-radius:14px;padding:20px 22px 16px;max-width:340px;width:calc(100vw - 32px);box-shadow:0 8px 32px rgba(0,0,0,.18),0 0 12px var(--tour-glow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:'Inter',sans-serif;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}
.ts-tour-tooltip.visible{opacity:1;transform:translateY(0)}
.ts-tour-tooltip.pos-top{transform:translateY(-8px)}
.ts-tour-tooltip.pos-top.visible{transform:translateY(0)}

.ts-tour-step-num{font-size:10px;font-weight:700;color:var(--tour-accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.ts-tour-title{font-size:16px;font-weight:700;color:var(--tour-text);margin-bottom:8px;line-height:1.3}
.ts-tour-body{font-size:13px;color:var(--tour-dim);line-height:1.6;margin-bottom:16px}
.ts-tour-body b{color:var(--tour-text);font-weight:600}

.ts-tour-nav{display:flex;align-items:center;gap:8px}
.ts-tour-btn{padding:0 16px;height:34px;border:none;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.ts-tour-btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 2px 8px rgba(124,58,237,.2)}
.ts-tour-btn-primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 3px 12px rgba(124,58,237,.3)}
.ts-tour-btn-back{background:rgba(139,92,246,.08);color:var(--tour-accent);border:1px solid var(--tour-border)}
.ts-tour-btn-back:hover{background:rgba(139,92,246,.15);border-color:rgba(139,92,246,.3)}
.ts-tour-btn-skip{background:none;color:#94a3b8;font-size:11px;margin-left:auto;padding:0 8px}
.ts-tour-btn-skip:hover{color:var(--tour-text)}

.ts-tour-progress{display:flex;gap:5px;margin-top:12px;justify-content:center}
.ts-tour-dot{width:6px;height:6px;border-radius:50%;background:rgba(139,92,246,.15);transition:all .2s}
.ts-tour-dot.active{background:var(--tour-accent);box-shadow:0 0 4px var(--tour-glow)}
.ts-tour-dot.done{background:rgba(139,92,246,.35)}

/* Welcome / Finish centered cards */
.ts-tour-card{position:fixed;z-index:10001;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);background:var(--tour-surface);border:1px solid var(--tour-border);border-radius:18px;padding:32px 28px 24px;max-width:400px;width:calc(100vw - 40px);box-shadow:0 12px 40px rgba(0,0,0,.2),0 0 20px var(--tour-glow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:'Inter',sans-serif;text-align:center;opacity:0;transition:opacity .3s ease,transform .3s ease}
.ts-tour-card.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ts-tour-card .ts-tour-title{font-size:20px;margin-bottom:12px}
.ts-tour-card .ts-tour-body{font-size:14px;margin-bottom:20px}
.ts-tour-card .ts-tour-nav{justify-content:center}

/* Minimized pill at bottom */
.ts-tour-minimized{position:fixed;z-index:10001;bottom:16px;left:50%;transform:translateX(-50%);background:var(--tour-surface);border:1px solid var(--tour-border);border-radius:24px;padding:8px 18px;box-shadow:0 4px 20px rgba(0,0,0,.15),0 0 8px var(--tour-glow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:'Inter',sans-serif;display:flex;align-items:center;gap:10px;cursor:pointer;opacity:0;transition:opacity .25s ease,transform .25s ease;transform:translateX(-50%) translateY(20px)}
.ts-tour-minimized.visible{opacity:1;transform:translateX(-50%) translateY(0)}
.ts-tour-minimized:hover{box-shadow:0 6px 24px rgba(0,0,0,.2),0 0 12px var(--tour-glow)}
.ts-tour-min-text{font-size:12px;font-weight:600;color:var(--tour-text)}
.ts-tour-min-step{font-size:10px;color:var(--tour-dim)}
.ts-tour-min-resume{font-size:11px;font-weight:700;color:var(--tour-accent);padding:4px 12px;border-radius:12px;background:rgba(139,92,246,.1)}

/* Mobile adjustments */
@media(max-width:768px){
  .ts-tour-tooltip{max-width:calc(100vw - 24px);padding:16px 18px 14px;border-radius:12px}
  .ts-tour-title{font-size:15px}
  .ts-tour-body{font-size:12px}
  .ts-tour-btn{height:38px;min-width:44px;font-size:13px}
  .ts-tour-card{padding:24px 20px 20px}
  .ts-tour-card .ts-tour-title{font-size:18px}
  .ts-tour-minimized{bottom:72px;padding:10px 16px}
}
