/* Interactive guided tour: spotlight backdrop + popover + floating launcher. */
.sbt-hole{
  position:fixed;z-index:9998;border-radius:12px;pointer-events:none;
  box-shadow:0 0 0 9999px rgba(6,10,16,.74), 0 0 0 2px var(--pgm,#ff2d42);
  transition:left .22s ease, top .22s ease, width .22s ease, height .22s ease, opacity .15s;
}
.sbt-hole.center{opacity:.001} /* full dim, no visible cutout for intro/center steps */

.sbt-pop{
  position:fixed;z-index:9999;width:330px;max-width:calc(100vw - 24px);
  background:var(--panel,#141a22);color:var(--ink,#e8edf3);
  border:1px solid var(--line2,#2b3646);border-radius:13px;
  box-shadow:0 18px 50px rgba(0,0,0,.55);padding:16px 17px 13px;
  font-family:var(--body,'Barlow',system-ui,sans-serif);
  transition:left .22s ease, top .22s ease;
  max-height:calc(100vh - 32px);overflow:auto;
}
.sbt-pop p b{color:var(--ink,#e8edf3)}
.sbt-pop p br+b{line-height:2}
.sbt-step{font-family:var(--mono,'JetBrains Mono',monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint,#6b7788)}
.sbt-pop h3{margin:6px 0 6px;font-family:var(--display,'Barlow Condensed',sans-serif);font-weight:800;font-size:20px;letter-spacing:.02em;line-height:1.1}
.sbt-pop p{margin:0 0 13px;font-size:13.5px;line-height:1.5;color:var(--muted,#aab4c0)}
.sbt-foot{display:flex;align-items:center;gap:10px}
.sbt-dots{display:flex;gap:5px;flex:1}
.sbt-dot{width:6px;height:6px;border-radius:50%;background:var(--line2,#2b3646)}
.sbt-dot.on{background:var(--pgm,#ff2d42)}
.sbt-btn{font-family:inherit;font-weight:700;font-size:13px;border-radius:8px;padding:7px 13px;cursor:pointer;border:1px solid transparent}
.sbt-btn.ghost{background:transparent;border-color:var(--line2,#2b3646);color:var(--muted,#aab4c0)}
.sbt-btn.ghost:hover{color:var(--ink,#e8edf3);border-color:var(--faint,#6b7788)}
.sbt-btn.solid{background:var(--pgm,#ff2d42);color:#fff}
.sbt-btn.solid:hover{filter:brightness(1.07)}
.sbt-skip{position:absolute;top:12px;right:13px;background:none;border:0;color:var(--faint,#6b7788);font-size:17px;line-height:1;cursor:pointer;padding:2px}
.sbt-skip:hover{color:var(--ink,#e8edf3)}

/* Floating launcher, bottom-right on every app page. */
.sbt-launch{
  position:fixed;right:18px;bottom:18px;z-index:9990;
  display:inline-flex;align-items:center;gap:8px;
  background:var(--panel,#141a22);color:var(--ink,#e8edf3);
  border:1px solid var(--line2,#2b3646);border-radius:999px;
  padding:9px 15px 9px 12px;font-family:var(--body,'Barlow',sans-serif);
  font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.sbt-launch:hover{border-color:var(--pgm,#ff2d42)}
.sbt-launch svg{width:16px;height:16px;stroke:var(--pgm,#ff2d42);stroke-width:2;fill:none}
.sbt-menu{
  position:fixed;right:18px;bottom:62px;z-index:9991;
  background:var(--panel,#141a22);border:1px solid var(--line2,#2b3646);border-radius:11px;
  box-shadow:0 12px 30px rgba(0,0,0,.45);padding:5px;min-width:184px;
}
.sbt-menu button{
  display:block;width:100%;text-align:left;background:none;border:0;
  color:var(--ink,#e8edf3);font-family:var(--body,'Barlow',sans-serif);font-weight:600;font-size:13.5px;
  padding:9px 12px;border-radius:7px;cursor:pointer;
}
.sbt-menu button:hover{background:var(--panel2,#1b222c)}
@media print{.sbt-launch,.sbt-hole,.sbt-pop{display:none}}
