/* Guided tour (client-tour.js): veil, cut-out around the target, balloon with arrow.
 * Colours come from the page tokens (--surface, --ink, --line, --muted, --accent), so dark mode
 * follows dark.css with no rule of its own; the fallbacks keep the tour usable on a bare page.
 * Every rule is prefixed st- and lives under .st-root. */
.st-root {
  --st-veil: #1416188c;
  --st-shadow: 0 2px 12px #1c19171f, 0 0 0 1px #1c191712;
  position: fixed;
  inset: 0;
  z-index: 1000;
  font: inherit;
  color: var(--ink, #1c1917);
}
.st-blocker {
  position: fixed;
  inset: 0;
  cursor: default;
}
.st-veil {
  position: fixed;
  inset: 0;
  background: var(--st-veil);
}
.st-veil[hidden],
.st-hole[hidden],
.st-arrow[hidden] {
  display: none;
}
/* The cut-out: a transparent box whose huge spread shadow is the veil around it. */
.st-hole {
  position: fixed;
  border-radius: 8px;
  box-shadow: 0 0 0 200vmax var(--st-veil);
  outline: 2px solid #ffffffd9;
  outline-offset: 0;
  pointer-events: none;
  transition: left 180ms var(--ease-out, ease-out), top 180ms var(--ease-out, ease-out),
    width 180ms var(--ease-out, ease-out), height 180ms var(--ease-out, ease-out);
}
.st-balloon {
  position: fixed;
  width: min(360px, calc(100vw - 24px));
  box-sizing: border-box;
  padding: 14px 16px 12px;
  border-radius: 10px;
  background: var(--surface, #fff);
  color: var(--ink, #1c1917);
  box-shadow: var(--st-shadow);
  font-size: 14px;
  line-height: 1.45;
}
.st-balloon:focus {
  outline: none;
}
.st-balloon.st-phone {
  width: auto;
  max-height: calc(60vh - 24px);
  overflow: visible;
}
.st-count {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--accent-dark, #0f766e);
}
.st-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.3;
}
/* The title takes the focus only so a screen reader starts from it; no ring for it. */
.st-title:focus,
.st-title:focus-visible {
  outline: none;
}
.st-text {
  margin: 6px 0 0;
  color: var(--muted, #66615d);
  white-space: pre-line;
}
.st-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 14px;
}
.st-nav {
  display: flex;
  gap: 8px;
}
.st-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 6px 14px;
  border: 1px solid var(--line, #e7e5e4);
  border-radius: 6px;
  background: var(--surface, #fff);
  color: var(--muted, #66615d);
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.st-btn[hidden] {
  display: none;
}
.st-btn:active {
  transform: translateY(1px);
}
.st-btn:focus-visible {
  outline: 2px solid var(--accent, #14847b);
  outline-offset: 2px;
}
.st-next {
  border-color: var(--accent, #14847b);
  background: var(--accent, #14847b);
  color: #fff;
}
.st-skip {
  border-color: transparent;
  background: transparent;
  padding-left: 4px;
  padding-right: 4px;
}
/* Arrow: a square turned 45 degrees, half of it outside the balloon edge facing the target. */
.st-arrow {
  position: absolute;
  width: 12px;
  height: 12px;
  background: var(--surface, #fff);
  box-shadow: -1px -1px 0 #1c191712;
  pointer-events: none;
}
.st-arrow-top {
  top: -6px;
  margin-left: -6px;
  transform: rotate(45deg);
}
.st-arrow-bottom {
  bottom: -6px;
  margin-left: -6px;
  transform: rotate(225deg);
}
.st-arrow-left {
  left: -6px;
  margin-top: -6px;
  transform: rotate(-45deg);
}
.st-arrow-right {
  right: -6px;
  margin-top: -6px;
  transform: rotate(135deg);
}
@media (max-width: 699px) {
  .st-btn {
    min-height: 40px;
  }
}
/* Dark mode: the surface tokens already turn dark (dark.css); the balloon needs a visible edge
   on the dark veil. Same media query as dark.css. */
@media (prefers-color-scheme: dark) {
  .st-root {
    --st-veil: #000000a6;
    --st-shadow: 0 8px 28px #0000008c, 0 0 0 1px var(--line, #37332f);
  }
  .st-arrow {
    box-shadow: -1px -1px 0 var(--line, #37332f);
  }
}
@media (prefers-reduced-motion: reduce) {
  .st-hole {
    transition: none;
  }
}
