/* ============================================================
   v25 — Guided demo / Driver-like tour
   Scoped additions only: no desktop/mobile layout regression.
   ============================================================ */
.demo-wizard-trigger{
  height:32px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px 0 6px;
  border:1px solid color-mix(in oklab,var(--md-outline) 86%,transparent);
  border-radius:999px;
  background:linear-gradient(180deg,#fff,#FAF7FF);
  color:var(--md-on-primary-container);
  box-shadow:0 1px 2px rgba(20,24,60,.04),0 10px 24px -22px rgba(107,44,255,.45);
  font-family:inherit;
  font-weight:900;
  font-size:12px;
  letter-spacing:.01em;
  cursor:pointer;
  flex:0 0 auto;
}
.demo-wizard-trigger:hover{background:var(--md-primary-container)}
.demo-wizard-trigger:active{transform:scale(.96)}
.demo-wizard-orb{
  width:22px;
  height:22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--md-primary);
  color:#fff;
  box-shadow:0 0 0 0 rgba(107,44,255,.35);
  animation:demoWizardPulse 2.2s ease-in-out infinite;
}
.demo-wizard-orb i{font-size:14px;transform:rotate(-10deg)}
@keyframes demoWizardPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(107,44,255,.32);transform:translateY(0)}
  50%{box-shadow:0 0 0 8px rgba(107,44,255,0);transform:translateY(-1px)}
}
@media(max-width:390px){.demo-wizard-label{display:none}.demo-wizard-trigger{padding:0 5px;height:30px}.demo-wizard-orb{width:24px;height:24px}}

.prototype-intro{
  position:fixed;
  inset:0;
  z-index:10000;
  min-height:100dvh;
  display:grid;
  place-items:center;
  padding:24px;
  color:#fff;
  background:radial-gradient(120% 120% at 20% 0%,#9C7CFF 0%,#6B2CFF 34%,#2A1466 100%);
  overflow:hidden;
}
.prototype-intro[hidden]{display:none!important}
.prototype-intro-bg{
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 12% 22%,rgba(255,255,255,.28) 0 0.9px,transparent 1.1px),
    radial-gradient(circle at 80% 10%,rgba(255,255,255,.15),transparent 26%),
    radial-gradient(circle at 25% 85%,rgba(255,79,154,.24),transparent 28%),
    radial-gradient(circle at 74% 80%,rgba(255,255,255,.14),transparent 24%);
  background-size:18px 18px,auto,auto,auto;
  opacity:.9;
  animation:introDrift 18s linear infinite;
}
@keyframes introDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-18px,-18px,0)}}
.prototype-intro-card{
  position:relative;
  width:min(760px,100%);
  border:1px solid rgba(255,255,255,.22);
  border-radius:36px;
  padding:clamp(28px,5vw,54px);
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(18px) saturate(1.15);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  box-shadow:0 34px 90px -46px rgba(0,0,0,.55);
}
.prototype-intro-mark{
  width:64px;
  height:64px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:#fff;
  margin-bottom:18px;
  position:relative;
  box-shadow:0 18px 42px -24px rgba(0,0,0,.45);
}
.prototype-intro-mark .flower{width:34px;height:34px}
.prototype-intro-mark>i{
  position:absolute;
  right:-6px;
  bottom:-6px;
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#6B2CFF;
  color:#fff;
  border:3px solid #fff;
}
.prototype-intro-kicker{
  margin:0 0 10px;
  font-size:13px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
}
.prototype-intro h1{
  margin:0 0 12px;
  color:#fff;
  font-size:clamp(34px,7vw,74px);
  line-height:.94;
  letter-spacing:-.06em;
}
.prototype-intro p:not(.prototype-intro-kicker){
  max-width:690px;
  margin:0 0 24px;
  color:rgba(255,255,255,.87);
  font-size:clamp(17px,2.4vw,22px);
  line-height:1.45;
  font-weight:650;
}
.prototype-intro-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.prototype-intro button{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:18px;
  padding:0 18px;
  font-family:inherit;
  font-weight:950;
  font-size:15px;
  cursor:pointer;
}
.prototype-intro-primary{background:#fff;color:#2A1466;box-shadow:0 20px 42px -24px rgba(0,0,0,.55)}
.prototype-intro-secondary{background:rgba(255,255,255,.12);color:#fff}
.prototype-intro button:hover{transform:translateY(-1px)}
.prototype-intro small{display:block;color:rgba(255,255,255,.68);font-weight:700}
@media(max-width:560px){.prototype-intro{padding:16px}.prototype-intro-card{border-radius:28px}.prototype-intro-actions{display:grid}.prototype-intro button{width:100%}}

.demo-tour-backdrop{
  position:fixed;
  inset:0;
  z-index:9990;
  pointer-events:none;
  background:rgba(13,21,56,.42);
  opacity:0;
  transition:opacity .18s ease;
}
.demo-tour-backdrop.is-visible{opacity:1}
.demo-tour-highlight{
  position:fixed;
  z-index:9992;
  border-radius:22px;
  pointer-events:none;
  box-shadow:0 0 0 9999px rgba(13,21,56,.48),0 0 0 4px rgba(255,255,255,.94),0 18px 44px -20px rgba(107,44,255,.65);
  outline:3px solid rgba(235,228,255,.84);
  outline-offset:4px;
  transition:all .22s cubic-bezier(.2,.8,.2,1);
}
.demo-tour-popover{
  position:fixed;
  z-index:9993;
  width:min(360px,calc(100vw - 28px));
  background:var(--md-surface);
  color:var(--ink);
  border:1px solid var(--md-outline);
  border-radius:24px;
  box-shadow:0 28px 80px -36px rgba(20,24,60,.55);
  padding:16px;
  transition:transform .2s ease,opacity .2s ease;
}
.demo-tour-popover:before{
  content:"";
  position:absolute;
  width:16px;
  height:16px;
  background:var(--md-surface);
  border-left:1px solid var(--md-outline);
  border-top:1px solid var(--md-outline);
  transform:rotate(45deg);
  top:-8px;
  left:28px;
}
.demo-tour-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:9px}
.demo-tour-icon{width:42px;height:42px;border-radius:16px;background:var(--md-primary-container);color:var(--md-on-primary-container);display:grid;place-items:center;font-size:22px;flex:0 0 auto}
.demo-tour-top b{display:block;font-size:18px;line-height:1.08;letter-spacing:-.03em;margin-top:2px}
.demo-tour-top small{display:block;margin-top:4px;color:var(--faint);font-weight:800;font-size:12px}
.demo-tour-popover p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.48;font-weight:600}
.demo-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;flex-wrap:wrap}
.demo-tour-actions button{height:38px;border-radius:999px;padding:0 13px;font-family:inherit;font-weight:900;border:1px solid var(--md-outline);background:var(--md-surface-container);color:var(--ink-soft);cursor:pointer}
.demo-tour-actions button:hover{background:var(--md-surface-container-high);color:var(--ink)}
.demo-tour-actions .primary{background:var(--md-primary);border-color:transparent;color:#fff;box-shadow:0 10px 24px -14px rgba(107,44,255,.7)}
.demo-tour-actions .ghost{background:transparent}
.demo-tour-progress{font-size:12px;color:var(--faint);font-weight:900;margin-right:auto;padding-left:2px}
@media(max-width:760px){.demo-tour-popover{left:14px!important;right:14px!important;bottom:14px!important;top:auto!important;width:auto!important}.demo-tour-popover:before{display:none}.demo-tour-actions{gap:6px}.demo-tour-actions button{height:36px;padding:0 10px;font-size:12px}}
