/* Madison Mission guided tours (assets/tour.js). Two themes share one layout:
 * .mmtour--site  the public website: deep purple + gold, DM Sans
 * .mmtour--admin the admin dashboard: follows the admin's --brand tokens and its light/dark theme
 */
.mmtour{--t-ink:var(--brand-text,#1d1a21);--t-muted:#5f5867;--t-line:var(--brand-line,#ece7f1);--t-card:#fff;--t-soft:var(--brand-surface,#f6f1fb);--t-accent:var(--brand-primary,#241236);--t-accent-ink:#fff;--t-hl:var(--brand-accent,#d9b24c);--t-hl-soft:color-mix(in srgb,var(--brand-accent-light,#f7df93) 25.1%,transparent);--t-scrim:rgba(14,6,22,.62);--t-font:var(--brand-font-body,"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif);
  position:fixed;inset:0;z-index:2147483000;font-family:var(--t-font);color:var(--t-ink);pointer-events:none;opacity:0;transition:opacity .22s ease}
.mmtour.is-in{opacity:1}
.mmtour--admin{--t-ink:var(--text,var(--brand-text,#16131a));--t-muted:var(--muted,#6b6573);--t-line:var(--line,#e7e3eb);--t-card:var(--panel,#fff);--t-soft:var(--brand-soft,#f1e9f8);--t-accent:var(--primary,var(--brand-primary-2,#66318f));--t-accent-ink:var(--on-primary,#fff);--t-hl:var(--brand-bright,var(--brand-primary-2,#844ab2));--t-hl-soft:color-mix(in srgb,var(--brand-primary-2,#844ab2) 18.8%,transparent);--t-font:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-theme="dark"] .mmtour--admin{--t-scrim:rgba(0,0,0,.66)}
html.mmtour-on{scroll-behavior:auto}

/* The click shield: the page stays still while the tour talks */
.mmtour-block{position:absolute;inset:0;pointer-events:auto;background:transparent;cursor:default}
.mmtour.is-intro .mmtour-block{background:var(--t-scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}

/* The spotlight: a rounded window cut out of the dimmed page, with a soft pulsing ring */
.mmtour-spot{position:fixed;left:50%;top:50%;width:0;height:0;border-radius:14px;box-shadow:0 0 0 2px var(--t-hl),0 0 0 6px var(--t-hl-soft),0 0 0 200vmax var(--t-scrim);pointer-events:none;
  transition:left .38s cubic-bezier(.22,1,.36,1),top .38s cubic-bezier(.22,1,.36,1),width .38s cubic-bezier(.22,1,.36,1),height .38s cubic-bezier(.22,1,.36,1),border-radius .38s,opacity .2s}
.mmtour-spot.is-none{left:50%!important;top:50%!important;width:0!important;height:0!important;box-shadow:0 0 0 200vmax var(--t-scrim)}
.mmtour.is-intro .mmtour-spot{opacity:0}
.mmtour-pulse{position:absolute;inset:-2px;border-radius:inherit;border:2px solid var(--t-hl);animation:mmtourPulse 1.8s cubic-bezier(.22,1,.36,1) infinite}
.mmtour-spot.is-none .mmtour-pulse{display:none}
@keyframes mmtourPulse{0%{opacity:.85;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.06)}}

/* The tooltip card */
.mmtour-pop{position:fixed;width:min(380px,calc(100vw - 24px));pointer-events:auto;outline:none;transition:left .34s cubic-bezier(.22,1,.36,1),top .34s cubic-bezier(.22,1,.36,1)}
.mmtour-card{position:relative;background:var(--t-card);border:1px solid var(--t-line);border-radius:18px;padding:18px 18px 16px;box-shadow:0 30px 70px -18px rgba(18,8,29,.45),0 8px 22px -10px rgba(18,8,29,.25)}
.mmtour-pop.is-swap .mmtour-card{animation:mmtourIn .32s cubic-bezier(.22,1,.36,1)}
.mmtour-pop.is-nudge .mmtour-card{animation:mmtourNudge .4s}
@keyframes mmtourIn{from{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}
@keyframes mmtourNudge{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-2px)}}
.mmtour-arrow{position:absolute;width:14px;height:14px;background:var(--t-card);border:1px solid var(--t-line);transform:rotate(45deg);z-index:1;display:none}
.mmtour-pop.is-bottom .mmtour-arrow{display:block;top:-7px;margin-left:-7px;border-right:0;border-bottom:0}
.mmtour-pop.is-top .mmtour-arrow{display:block;bottom:-7px;margin-left:-7px;border-left:0;border-top:0}
.mmtour-pop.is-right .mmtour-arrow{display:block;left:-7px;margin-top:-7px;border-right:0;border-top:0}
.mmtour-pop.is-left .mmtour-arrow{display:block;right:-7px;margin-top:-7px;border-left:0;border-bottom:0}
.mmtour-pop.is-bottom .mmtour-card,.mmtour-pop.is-top .mmtour-card,.mmtour-pop.is-left .mmtour-card,.mmtour-pop.is-right .mmtour-card{z-index:2}

.mmtour-pop.is-center{left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px))}
.mmtour-pop.is-sheet{left:10px!important;right:10px;width:auto;top:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))}
.mmtour-pop.is-sheet-top{bottom:auto;top:calc(10px + env(safe-area-inset-top))!important}

.mmtour-top{display:flex;align-items:center;gap:10px;margin:-2px 0 10px}
.mmtour-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t-muted)}
.mmtour--site .mmtour-eyebrow{color:#8a6a17}
.mmtour-new{font-size:10px;letter-spacing:.06em;padding:2px 7px;border-radius:999px;background:var(--t-hl);color:var(--brand-primary,#241236)}
.mmtour-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--t-muted);font-variant-numeric:tabular-nums}
.mmtour-x{display:grid;place-items:center;width:30px;height:30px;margin:-4px -6px -4px 0;border:0;border-radius:999px;background:transparent;color:var(--t-muted);cursor:pointer;transition:background .15s,color .15s}
.mmtour-x:hover{background:var(--t-soft);color:var(--t-ink)}
.mmtour-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.mmtour-card h2{margin:0 0 6px;font-family:inherit;font-size:19px;line-height:1.25;font-weight:700;letter-spacing:-.01em;color:var(--t-ink);text-transform:none}
.mmtour-text{font-size:14.5px;line-height:1.55;color:var(--t-muted)}
.mmtour-text p{margin:0 0 6px}
.mmtour-text strong{color:var(--t-ink);font-weight:600}
.mmtour-text kbd,.mmtour-keys kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--t-line);border-bottom-width:2px;border-radius:6px;background:var(--t-soft);font:600 11px/1 var(--t-font);color:var(--t-ink)}
.mmtour-art{display:grid;place-items:center;height:92px;margin:0 0 14px;border-radius:12px;background:linear-gradient(135deg,var(--t-soft),transparent),var(--t-soft);color:var(--t-accent);overflow:hidden}
.mmtour-art svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mmtour-tip{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;padding:9px 11px;border-radius:12px;background:var(--t-soft);font-size:13px;line-height:1.45;color:var(--t-ink)}
.mmtour-tip svg{flex:none;width:16px;height:16px;margin-top:1px;fill:var(--t-hl);stroke:none}

.mmtour-foot{display:flex;align-items:center;gap:12px;margin-top:16px}
.mmtour-dots{display:flex;flex-wrap:wrap;gap:5px;flex:1;min-width:0}
.mmtour-dot{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:var(--t-line);cursor:pointer;transition:width .3s cubic-bezier(.22,1,.36,1),background .2s}
.mmtour-dot.is-past{background:color-mix(in srgb,var(--t-accent) 40%,var(--t-line))}
.mmtour-dot.is-on{width:22px;background:var(--t-accent)}
.mmtour--site .mmtour-dot.is-on{background:linear-gradient(90deg,var(--brand-primary,#241236),var(--brand-primary-2,#6b3598))}
.mmtour-dot:focus-visible{outline:2px solid var(--t-hl);outline-offset:2px}
.mmtour-bar{flex:1;min-width:0;height:5px;border-radius:999px;background:var(--t-line);overflow:hidden}
.mmtour-bar span{display:block;height:100%;border-radius:inherit;background:var(--t-accent);transition:width .4s cubic-bezier(.22,1,.36,1)}
.mmtour--site .mmtour-bar span{background:linear-gradient(90deg,var(--brand-primary,#241236),var(--brand-primary-2,#6b3598))}
.mmtour-actions{display:flex;align-items:center;gap:8px;flex:none}
.mmtour-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 15px;border-radius:999px;border:1px solid transparent;font:600 14px/1 var(--t-font);cursor:pointer;white-space:nowrap;transition:transform .12s,background .15s,box-shadow .15s,color .15s}
.mmtour-btn:active{transform:scale(.97)}
.mmtour-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mmtour-btn--primary{background:var(--t-accent);color:var(--t-accent-ink);box-shadow:0 8px 18px -8px color-mix(in srgb,var(--t-accent) 70%,transparent)}
.mmtour-btn--primary:hover{filter:brightness(1.12)}
.mmtour--site .mmtour-btn--primary{background:linear-gradient(135deg,#2e1746,#5a2b80)}
.mmtour-btn--ghost{background:transparent;border-color:var(--t-line);color:var(--t-ink)}
.mmtour-btn--ghost:hover{background:var(--t-soft)}
.mmtour-btn--text{background:transparent;color:var(--t-muted);padding:0 8px}
.mmtour-btn--text:hover{color:var(--t-ink)}
.mmtour-btn--icon{width:38px;padding:0}
.mmtour-btn--sm{height:32px;padding:0 13px;font-size:13px}
.mmtour-btn:focus-visible,.mmtour-x:focus-visible{outline:2px solid var(--t-hl);outline-offset:2px}
.mmtour-keys{margin:12px 0 0;font-size:11.5px;color:var(--t-muted);display:flex;align-items:center;gap:4px}
@media (hover:none){.mmtour-keys{display:none}}

/* The welcome card (HubSpot / Sentry) */
.mmtour-pop.is-intro{width:min(460px,calc(100vw - 28px))}
.mmtour-pop.is-intro .mmtour-card{padding:0;overflow:hidden;border-radius:22px;animation:mmtourIn .45s cubic-bezier(.22,1,.36,1)}
.mmtour-pop.is-intro .mmtour-x{position:absolute;top:12px;right:12px;margin:0;z-index:3;background:#ffffff26;color:#fff;backdrop-filter:blur(6px)}
.mmtour-pop.is-intro .mmtour-x:hover{background:#ffffff40;color:#fff}
.mmtour-hero{position:relative;height:178px;overflow:hidden;background:radial-gradient(120% 90% at 20% 0%,var(--brand-primary-2,#6b3598) 0%,#2a1440 55%,var(--brand-dark,#170a24) 100%)}
.mmtour--admin .mmtour-hero{background:radial-gradient(120% 90% at 20% 0%,var(--brand-bright,var(--brand-primary-2,#844ab2)) 0%,var(--primary,var(--brand-primary-2,#66318f)) 50%,#1d0f2b 100%)}
.mmtour-intro-copy{padding:22px 24px 22px}
.mmtour-intro-copy h2{font-size:23px;margin-bottom:8px}
.mmtour-intro-copy > p{margin:0;font-size:15px;line-height:1.55;color:var(--t-muted)}
.mmtour-intro-copy .mmtour-eyebrow{margin-bottom:8px}
.mmtour-meta{display:flex;align-items:center;gap:8px;margin:14px 0 0!important;font-size:13px!important;font-weight:600;color:var(--t-ink)!important}
.mmtour-meta svg{width:20px;height:20px;padding:4px;border-radius:999px;background:var(--t-soft);fill:var(--t-accent);stroke:none}
.mmtour-actions--intro{margin-top:20px;flex-wrap:wrap}
.mmtour-actions--intro .mmtour-btn{height:44px;padding:0 20px;font-size:15px}
.mmtour-note{margin:14px 0 0!important;font-size:12.5px!important;color:var(--t-muted)}

/* Hero illustration pieces (built in tour-steps.js) */
.mmtour-hero .mth-logo{position:absolute;left:50%;top:50%;width:86px;height:86px;margin:-43px 0 0 -43px;border-radius:24px;background:var(--brand-bg,#fff);display:grid;place-items:center;box-shadow:0 18px 40px -10px #0008;animation:mthFloat 5s ease-in-out infinite}
.mmtour-hero .mth-logo img{width:62px;height:auto}
.mmtour-hero .mth-chip{position:absolute;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;background:#ffffffeb;color:var(--brand-primary,#241236);font:600 12px/1 var(--t-font);box-shadow:0 10px 24px -10px #0009;animation:mthFloat 6s ease-in-out infinite}
.mmtour-hero .mth-chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mmtour-hero .mth-chip:nth-child(2){left:7%;top:20%;animation-delay:-1s}
.mmtour-hero .mth-chip:nth-child(3){right:7%;top:16%;animation-delay:-2.5s}
.mmtour-hero .mth-chip:nth-child(4){left:11%;bottom:16%;animation-delay:-3.5s}
.mmtour-hero .mth-chip:nth-child(5){right:9%;bottom:20%;animation-delay:-.4s}
.mmtour-hero .mth-chip b{width:7px;height:7px;border-radius:50%;background:#e5484d;box-shadow:0 0 0 3px #e5484d33}
.mmtour-hero .mth-glow{position:absolute;inset:auto -20% -60% -20%;height:120%;background:radial-gradient(closest-side,color-mix(in srgb,var(--brand-accent,#d9b24c) 33.3%,transparent),transparent);pointer-events:none}
@keyframes mthFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (max-width:420px){.mmtour-hero{height:150px}.mmtour-hero .mth-chip:nth-child(4),.mmtour-hero .mth-chip:nth-child(5){display:none}}

/* The corner nudge (Jasper) */
.mmtour-toast{--t-ink:var(--brand-text,#1d1a21);--t-muted:#5f5867;--t-line:var(--brand-line,#ece7f1);--t-card:#fff;--t-soft:var(--brand-surface,#f6f1fb);--t-accent:var(--brand-primary,#241236);--t-accent-ink:#fff;--t-hl:var(--brand-accent,#d9b24c);--t-font:var(--brand-font-body,"DM Sans",system-ui,sans-serif);
  position:fixed;z-index:2147482990;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:min(340px,calc(100vw - 24px));display:flex;gap:12px;align-items:flex-start;padding:14px 12px 14px 14px;border-radius:16px;background:var(--t-card);border:1px solid var(--t-line);box-shadow:0 22px 50px -16px rgba(18,8,29,.4);font-family:var(--t-font);color:var(--t-ink);opacity:0;transform:translateY(12px);transition:opacity .24s,transform .3s cubic-bezier(.22,1,.36,1)}
.mmtour-toast.mmtour--admin{--t-ink:var(--text,var(--brand-text,#16131a));--t-muted:var(--muted,#6b6573);--t-line:var(--line,#e7e3eb);--t-card:var(--panel,#fff);--t-soft:var(--brand-soft,#f1e9f8);--t-accent:var(--primary,var(--brand-primary-2,#66318f));--t-accent-ink:var(--on-primary,#fff);--t-hl:var(--brand-bright,var(--brand-primary-2,#844ab2));--t-font:Inter,system-ui,sans-serif}
.mmtour-toast.is-in{opacity:1;transform:none}
.mmtour-toast strong{display:block;font-size:14.5px;margin:1px 0 3px}
.mmtour-toast p{margin:0 0 10px;font-size:13.5px;line-height:1.45;color:var(--t-muted)}
.mmtour-toast p:last-child{margin:0}
.mmtour-toast > div{flex:1;min-width:0}
.mmtour-toast .mmtour-x{margin:-4px -2px 0 0}
.mmtour-toast-icon{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--t-soft)}
.mmtour-toast-icon svg{width:18px;height:18px;fill:var(--t-hl)}
body:has(.mmt-bar) .mmtour-toast{bottom:calc(86px + env(safe-area-inset-bottom))}
@media (min-width:821px){body:has(.mmt-bar) .mmtour-toast{bottom:calc(18px + env(safe-area-inset-bottom))}}

/* Visually hidden live region */
.mmtour-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Replay links: footer + admin top bar */
.mmf-tour{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;opacity:.85;text-decoration:none}
.mmf-tour:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.mmf-tour svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.mmtour--still *,.mmtour--still{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){.mmtour-pulse,.mmtour-hero .mth-logo,.mmtour-hero .mth-chip{animation:none}}
