:root {
  --bms-tour-ink: #241d19;
  --bms-tour-muted: #6d625b;
  --bms-tour-gold: #c6a15b;
  --bms-tour-gold-soft: #f2e5c9;
  --bms-tour-cream: #fffdf9;
  --bms-tour-shadow: 0 26px 80px rgba(23, 17, 13, .34);
}

.bms-tour-help {
  position: fixed; right: 18px; bottom: max(18px, env(safe-area-inset-bottom)); z-index: 9800;
  display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 11px 17px;
  border: 1px solid rgba(255,255,255,.14); border-radius: 999px;
  background: linear-gradient(145deg, #40342e, #171310); color: #fff;
  box-shadow: 0 12px 34px rgba(0,0,0,.28); font: 750 14px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;
  cursor: pointer; transition: transform .18s ease, box-shadow .18s ease;
}
.bms-tour-help:hover,.bms-tour-help:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 40px rgba(0,0,0,.34); outline: 3px solid rgba(198,161,91,.4); outline-offset: 2px; }
.bms-tour-help[hidden] { display:none!important; }
.bms-tour-help__icon { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--bms-tour-gold); color:#241d19; font-size:15px; font-weight:900; }
.bms-tour-help__label { white-space: nowrap; }
.bms-tour-help--invited { z-index:2147483005; box-shadow:0 0 0 5px rgba(255,255,255,.96),0 0 0 12px rgba(225,189,114,.34),0 18px 52px rgba(0,0,0,.48); }
.bms-tour-menu-restart { border:0; background:transparent; cursor:pointer; white-space:nowrap; }
.bms-tour-menu-restart--admin { width:calc(100% - 16px); margin:4px 8px 8px; padding:10px 12px!important; border:1px solid rgba(226,190,115,.38)!important; border-radius:10px!important; background:rgba(226,190,115,.1)!important; color:#f5dfad!important; text-align:left; font-weight:750; }
.bms-tour-menu-restart--admin:hover,.bms-tour-menu-restart--admin:focus-visible { background:rgba(226,190,115,.2)!important; color:#fff!important; }

.bms-tour-overlay {
  position:fixed; inset:0; z-index:2147483001;
  background:transparent!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
.bms-tour-focus {
  position:fixed; z-index:2147483002; overflow:visible;
  border:4px solid #f0b429; border-radius:16px; background:transparent;
  box-shadow:0 0 0 5px #fff,0 13px 34px rgba(36,29,25,.28);
  pointer-events:none; transition:none!important; animation:none!important;
}
.bms-tour-pulse { animation:none!important; }
.bms-tour-focus-label {
  position:absolute; left:-4px; bottom:calc(100% + 10px); z-index:2;
  width:max-content; max-width:min(420px,calc(100vw - 20px)); padding:8px 11px;
  border:2px solid #fff; border-radius:10px; background:#241d19; color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  font:900 11px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.045em; text-transform:uppercase; white-space:normal;
}
.bms-tour-focus[data-label-side="inside"] .bms-tour-focus-label {
  left:8px; top:8px; bottom:auto; max-width:calc(100% - 16px);
}
.bms-tour-focus[data-label-align="right"]:not([data-label-side="inside"]) .bms-tour-focus-label {
  left:auto; right:0;
}
.bms-tour-connector {
  position:fixed; z-index:2147483002; height:4px; border-radius:999px;
  background:linear-gradient(90deg,#40342e,#f0b429); transform-origin:0 50%;
  box-shadow:0 0 0 2px #fff,0 5px 16px rgba(0,0,0,.28);
  pointer-events:none; transition:none!important; animation:none!important;
}
.bms-tour-connector[hidden] { display:none!important; }
.bms-tour-connector:after {
  content:""; position:absolute; right:-3px; top:50%; width:0; height:0;
  border-top:9px solid transparent; border-bottom:9px solid transparent; border-left:15px solid #f0b429;
  transform:translateY(-50%);
}
.bms-tour-target-active { scroll-margin:110px; }

.bms-tour-card {
  position:fixed; z-index:2147483003; box-sizing:border-box; width:min(400px,calc(100vw - 28px)); padding:22px;
  overflow:hidden; border:1px solid rgba(198,161,91,.6); border-radius:22px;
  background:linear-gradient(180deg,#fffefa 0%,#fffaf1 100%); color:var(--bms-tour-ink);
  box-shadow:var(--bms-tour-shadow); font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
}
.bms-tour-card:before { content:""; position:absolute; inset:0 0 auto; height:5px; background:linear-gradient(90deg,#876431,#e4c77f,#876431); }
.bms-tour-card:after { display:none; content:""; position:absolute; width:18px; height:18px; background:var(--bms-tour-cream); border:solid rgba(198,161,91,.7); transform:rotate(45deg); }
.bms-tour-card[data-placement="bottom"]:after { top:-10px; left:var(--bms-arrow-x,35px); border-width:1px 0 0 1px; }
.bms-tour-card[data-placement="top"]:after { bottom:-10px; left:var(--bms-arrow-x,35px); border-width:0 1px 1px 0; }
.bms-tour-card[data-placement="left"]:after { right:-10px; top:var(--bms-arrow-y,35px); border-width:1px 1px 0 0; }
.bms-tour-card[data-placement="right"]:after { left:-10px; top:var(--bms-arrow-y,35px); border-width:0 0 1px 1px; }
.bms-tour-kicker { margin:0 34px 7px 0; color:#876b32; text-transform:uppercase; letter-spacing:.09em; font-size:11px; font-weight:850; }
.bms-tour-page {
  display:inline-flex; max-width:100%; margin:0 36px 10px 0; padding:6px 9px;
  border:1px solid #ead8b3; border-radius:9px; background:#f8edd8; color:#604d27;
  font-size:12px; font-weight:850; line-height:1.3;
}
.bms-tour-card .bms-tour-title { margin:0 30px 9px 0; color:#241d19!important; -webkit-text-fill-color:#241d19!important; background:none!important; text-shadow:none!important; font-size:22px; line-height:1.2; font-weight:850; letter-spacing:-.02em; }
.bms-tour-card .bms-tour-copy { margin:0; padding:12px 13px; border:1px solid #e4ddd4; border-radius:12px; background:#fff; color:#514943!important; -webkit-text-fill-color:#514943!important; text-shadow:none!important; font-size:15px; line-height:1.55; }
.bms-tour-card .bms-tour-copy strong { display:block; margin-bottom:3px; color:#241d19; font-size:12px; letter-spacing:.02em; }
.bms-tour-benefits { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:15px 0 3px; }
.bms-tour-benefits span { padding:8px 10px; border:1px solid #dbe8d4; border-radius:11px; background:linear-gradient(135deg,#f4faef,#eaf4e5); color:#31572b; font-size:13px; font-weight:850; }
.bms-tour-card .bms-tour-action-copy { margin:9px 0 0; padding:11px 13px; border:1px solid #c9dfc0; border-radius:12px; background:#edf7e9; color:#31572b!important; -webkit-text-fill-color:#31572b!important; text-shadow:none!important; font-size:13.5px; line-height:1.45; }
.bms-tour-card .bms-tour-why { margin:13px 0 0; padding:11px 13px; border:1px solid #ead8b3; border-radius:12px; background:linear-gradient(135deg,#f8edd8,#f5e5c6); color:#604d27!important; -webkit-text-fill-color:#604d27!important; text-shadow:none!important; font-size:13px; line-height:1.45; }
.bms-tour-card .bms-tour-caution { margin:9px 0 0; padding:10px 12px; border-left:4px solid #c56b2b; border-radius:9px; background:#fff4e8; color:#6a3d1f!important; -webkit-text-fill-color:#6a3d1f!important; text-shadow:none!important; font-size:13px; line-height:1.45; }
.bms-tour-close { position:absolute; right:13px; top:13px; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #eadfce; border-radius:50%; background:rgba(255,255,255,.96); color:#514943; font-size:25px; line-height:1; cursor:pointer; }
.bms-tour-progressbar { height:4px; margin:17px 0 0; overflow:hidden; border-radius:999px; background:#eadfce; }
.bms-tour-progressbar span { display:block; width:var(--bms-tour-progress,0%); height:100%; border-radius:inherit; background:linear-gradient(90deg,#8f6e37,#d9ba71); transition:width .2s ease; }
.bms-tour-actions { display:flex; align-items:center; gap:9px; margin-top:13px; }
.bms-tour-progress { margin-right:auto; color:#786d65; font-size:12px; font-weight:750; }
.bms-tour-btn { min-height:44px; padding:10px 15px; border:1px solid #bc9a57; border-radius:12px; background:#fffdf9; color:#312923; font-size:14px; font-weight:800; cursor:pointer; }
.bms-tour-btn--next { min-width:104px; background:linear-gradient(145deg,#3b302a,#211b18); color:#fff; border-color:#2b231f; box-shadow:0 7px 18px rgba(38,29,24,.2); }
.bms-tour-btn:focus-visible,.bms-tour-close:focus-visible { outline:3px solid rgba(198,161,91,.5); outline-offset:2px; }

.bms-tour-invite-overlay { background:transparent!important; backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }
.bms-tour-invite {
  left:50%!important; top:50%!important; width:min(540px,calc(100vw - 32px)); padding:32px 34px 30px;
  max-height:calc(100svh - 24px); transform:translate(-50%,-50%);
  overflow-x:hidden; overflow-y:auto; text-align:center;
  border-radius:28px; box-shadow:0 34px 100px rgba(17,12,9,.5);
}
.bms-tour-invite:after { display:none; }
.bms-tour-invite .bms-tour-kicker { margin:0 38px 12px; text-align:center; font-size:12px; }
.bms-tour-invite .bms-tour-title {
  max-width:440px; margin:0 auto 14px!important; font-size:clamp(30px,4.4vw,43px)!important;
  line-height:1.03!important; letter-spacing:-.04em!important;
}
.bms-tour-invite .bms-tour-copy { max-width:450px; margin:0 auto; font-size:17px!important; line-height:1.58!important; }
.bms-tour-invite-hint {
  display:inline-flex; align-items:center; justify-content:center; min-height:38px; margin:18px auto 0;
  padding:8px 13px; border:1px solid #ead8b3; border-radius:999px; background:#f8edd8;
  color:#604d27; font-size:13px; font-weight:800;
}
.bms-tour-invite-actions { display:flex; justify-content:center; margin-top:18px; }
.bms-tour-invite-actions .bms-tour-btn { min-width:126px; }
.bms-tour-invite-arrow {
  position:fixed; z-index:2147483004; height:4px; border-radius:999px;
  background:linear-gradient(90deg,#f8e8bd,#e1bd72); box-shadow:0 2px 10px rgba(31,23,17,.38);
  transform-origin:0 50%; pointer-events:none;
}
.bms-tour-invite-arrow:after {
  content:""; position:absolute; right:-2px; top:50%; width:0; height:0;
  border-top:9px solid transparent; border-bottom:9px solid transparent; border-left:15px solid #e1bd72;
  transform:translateY(-50%);
}
.bms-tour-invite-focus { border-radius:999px; }
body.bms-tour-open { overflow:hidden!important; }

@media (max-width:640px) {
  .bms-tour-help {
    display:flex!important; right:10px; bottom:max(78px,calc(68px + env(safe-area-inset-bottom)));
    min-height:46px; padding:10px 14px;
  }
  .bms-tour-help__icon { width:25px; height:25px; }
  .bms-tour-card,
  html.bms-tour-invite-mode .bms-tour-card {
    left:10px!important; right:10px!important; top:auto!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important; width:auto!important; max-width:none!important;
    max-height:min(56svh,500px); padding:22px 18px calc(16px + env(safe-area-inset-bottom));
    transform:none!important; overflow-y:auto; overscroll-behavior:contain; border-radius:24px;
    box-shadow:0 22px 65px rgba(15,11,9,.42);
  }
  .bms-tour-card:before { height:4px; }
  .bms-tour-card:after { display:none; }
  .bms-tour-card:after { content:none; }
  .bms-tour-card:before { border-radius:24px 24px 0 0; }
  .bms-tour-card { scrollbar-width:thin; scrollbar-color:#c9ad73 transparent; }
  .bms-tour-kicker { margin-bottom:6px; font-size:10px; }
  .bms-tour-card .bms-tour-title { margin-right:42px; font-size:22px; line-height:1.18; }
  .bms-tour-card .bms-tour-copy { font-size:15px; line-height:1.5; }
  .bms-tour-benefits { gap:7px; margin-top:12px; }
  .bms-tour-benefits span { padding:8px; text-align:center; font-size:12px; }
  .bms-tour-card .bms-tour-why { margin-top:11px; padding:10px 11px; font-size:13.5px; }
  .bms-tour-close { position:sticky; float:right; right:0; top:0; margin:-8px -4px -36px 8px; z-index:2; background:#fff; }
  .bms-tour-progressbar { clear:both; margin-top:14px; }
  .bms-tour-actions { position:sticky; bottom:calc(-16px - env(safe-area-inset-bottom)); z-index:2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:9px 10px; margin:12px -18px calc(-16px - env(safe-area-inset-bottom)); padding:10px 18px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid #eadfce; background:rgba(255,253,249,.97); backdrop-filter:blur(10px); }
  .bms-tour-progress { grid-column:1/-1; width:100%; margin:0; text-align:center; line-height:1.2; }
  .bms-tour-btn { width:100%; min-width:0; min-height:48px; padding:11px 12px; }
  .bms-tour-btn--next { grid-column:1/-1; min-width:0; }
  .bms-tour-focus { max-height:none!important; border-width:3px; border-radius:12px; box-shadow:0 0 0 4px #fff,0 12px 28px rgba(36,29,25,.28); overflow:visible; }
  .bms-tour-focus-label { max-width:calc(100vw - 20px); font-size:10px; }
  .bms-tour-focus:after { content:none; display:none; }
  html.bms-tour-invite-mode .bms-tour-invite {
    left:12px!important; right:12px!important; top:50%!important; bottom:auto!important;
    width:auto!important; max-height:min(76svh,620px); padding:27px 20px 22px;
    transform:translateY(-50%)!important; overflow-x:hidden; overflow-y:auto;
  }
  html.bms-tour-invite-mode .bms-tour-invite .bms-tour-title { margin-right:auto!important; font-size:clamp(28px,9vw,37px)!important; }
  html.bms-tour-invite-mode .bms-tour-invite .bms-tour-copy { font-size:15.5px!important; line-height:1.52!important; }
  html.bms-tour-invite-mode .bms-tour-invite .bms-tour-close { position:absolute; right:12px; top:12px; float:none; margin:0; }
  html.bms-tour-invite-mode .bms-tour-invite-focus { max-height:none!important; border-radius:999px; }
  html.bms-tour-invite-mode .bms-tour-invite-focus:after { display:none; }
}

@media (max-width:360px) {
  .bms-tour-card,html.bms-tour-invite-mode .bms-tour-card { left:7px!important; right:7px!important; bottom:max(7px,env(safe-area-inset-bottom))!important; padding-left:15px; padding-right:15px; }
  .bms-tour-progress { display:none; }
  .bms-tour-actions { padding-left:15px; padding-right:15px; margin-left:-15px; margin-right:-15px; }
  .bms-tour-actions .bms-tour-btn { grid-column:auto; }
  .bms-tour-actions .bms-tour-btn--next { grid-column:1/-1; }
  html.bms-tour-invite-mode .bms-tour-invite { top:50%!important; bottom:auto!important; transform:translateY(-50%)!important; }
  .bms-tour-invite-hint { border-radius:15px; }
}

@media (prefers-reduced-motion:reduce) { .bms-tour-focus,.bms-tour-help,.bms-tour-progressbar span,.bms-tour-invite-arrow { transition:none!important; animation:none!important; } }
