.cbtour-root { position: fixed; inset: 0; z-index: 9000; pointer-events: none; }
.cbtour-spotlight {
  position: fixed; z-index: 9001; border-radius: 8px; pointer-events: none;
  box-shadow: 0 0 0 9999px rgba(14,37,53,.55), 0 0 0 3px #C9A84C;
  transition: top .25s var(--spring,ease), left .25s var(--spring,ease),
              width .25s var(--spring,ease), height .25s var(--spring,ease);
}
.cbtour-spotlight.cbtour-nospot { box-shadow: 0 0 0 9999px rgba(14,37,53,.55); width:0; height:0; }
.cbtour-card {
  position: fixed; z-index: 9002; width: 260px; max-width: calc(100vw - 24px);
  background:#fff; border:1px solid #E8ECF2; border-radius:12px;
  box-shadow:0 8px 32px rgba(5,28,44,.28); overflow:hidden; pointer-events:auto;
  font-family: var(--sans,'Inter',sans-serif);
  animation: cbtour-in .25s var(--spring,ease);
}
@keyframes cbtour-in { from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }
.cbtour-card .h { background:#0E2535; color:#fff; padding:9px 12px; font-size:12px; font-weight:700; display:flex; align-items:center; gap:6px; }
.cbtour-card .h .step { margin-left:auto; font-weight:500; opacity:.7; font-size:10px; }
.cbtour-card .b { padding:11px 12px; font-size:13px; color:#0E2535; line-height:1.5; }
.cbtour-card .practice { margin-top:8px; padding:8px 10px; background:#f0f2f6; border-radius:8px; font-size:12px; }
.cbtour-card .practice.done { background:#e6f4ea; color:#1A7A3A; font-weight:600; }
.cbtour-card .f { display:flex; gap:6px; align-items:center; padding:0 12px 11px; }
.cbtour-card .skip { font-size:11px; color:#5A6B7B; text-decoration:underline; background:none; border:none; cursor:pointer; }
.cbtour-card .next { margin-left:auto; background:#C9A84C; color:#0E2535; border:none; border-radius:6px; padding:7px 14px; font-weight:700; font-size:12px; cursor:pointer; }
.cbtour-card .next.pulse { animation: cbtour-pulse 1.2s infinite; }
.cbtour-card .next:disabled { opacity:.4; cursor:not-allowed; animation:none; }
@keyframes cbtour-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.5)} 50%{box-shadow:0 0 0 6px rgba(201,168,76,0)} }
.cbtour-card .back { background:#fff; color:#5A6B7B; border:1px solid #D4DAE3; border-radius:6px; padding:7px 10px; font-size:12px; cursor:pointer; }
@media (prefers-reduced-motion: reduce) {
  .cbtour-spotlight, .cbtour-card { transition:none !important; animation:none !important; }
  .cbtour-card .next.pulse { animation:none !important; }
}
