
  #vcTour{ position:fixed; inset:0; z-index:10050; display:none; }
  #vcTour.show{ display:block; }
  #vcTourBlock{ position:absolute; inset:0; }
  #vcTourHole{ position:fixed; border-radius:14px; box-shadow:0 0 0 9999px rgba(6,18,15,.72); transition:all .28s ease; pointer-events:none; }
  #vcTourHole::after{ content:''; position:absolute; inset:-5px; border:3px solid #ffd24a; border-radius:18px; animation:vcTourPulse 1.4s ease-in-out infinite; }
  @keyframes vcTourPulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.35; transform:scale(1.04); } }
  @media (prefers-reduced-motion: reduce){ #vcTourHole::after{ animation:none; } #vcTourHole, #vcTourTip{ transition:none; } }
  #vcTourHole.center{ width:0 !important; height:0 !important; left:50% !important; top:50% !important; }
  #vcTourHole.center::after{ display:none; }
  #vcTourTip.tt-phone{ border-radius:16px; padding:14px 14px 10px; max-height:46vh; overflow:auto; }
  #vcTourTip.tt-phone h3{ font-size:17px; }
  #vcTourTip.tt-phone p{ font-size:14.5px; line-height:1.45; }
  #vcTourTip.tt-phone .tt-back, #vcTourTip.tt-phone .tt-next, #vcTourTip.tt-phone .tt-skip{ min-height:44px; }
  #vcTourTip{ position:fixed; width:min(320px, calc(100vw - 24px)); background:var(--card,#fff); color:var(--ink,#062822); border-radius:18px; padding:16px 16px 12px; box-shadow:0 18px 50px rgba(0,0,0,.45); font-family:var(--font,system-ui); transition:top .28s ease, left .28s ease; }
  #vcTourTip .tt-arrow{ position:absolute; width:18px; height:18px; background:var(--card,#fff); transform:rotate(45deg); border-radius:3px; }
  #vcTourTip h3{ margin:0 0 6px; font-size:16.5px; font-weight:800; line-height:1.25; }
  #vcTourTip p{ margin:0; font-size:14px; line-height:1.45; opacity:.85; }
  #vcTourTip .tt-foot{ display:flex; align-items:center; gap:8px; margin-top:14px; }
  #vcTourTip .tt-dots{ flex:1; display:flex; gap:4px; }
  #vcTourTip .tt-dots{ min-width:0; flex-wrap:wrap; row-gap:3px; }
  #vcTourTip .tt-count{ font:700 12.5px var(--font,system-ui); color:var(--muted,#6b7c77); }
  #vcTourTip .tt-dots i{ width:7px; height:7px; border-radius:50%; background:var(--paper-dark,#e7dcc2); }
  #vcTourTip .tt-dots i.on{ background:var(--cover,#1d9178); width:18px; border-radius:99px; }
  #vcTourTip button{ border:none; border-radius:12px; padding:9px 14px; font:800 13.5px var(--font,system-ui); cursor:pointer; }
  #vcTourTip .tt-skip{ background:transparent; color:var(--muted,#6b7c77); padding:9px 6px; }
  #vcTourTip .tt-back{ background:var(--paper-dark,#f1ead6); color:var(--ink,#062822); }
  #vcTourTip .tt-next{ background:var(--cover,#1d9178); color:#fff; }
  #vcTourTip .tt-emoji{ font-size:34px; margin-bottom:4px; }

  /* v261: "Don't show tips again" — only on the first step of a tour that opened by itself */
  #vcTourTip .tt-off{ display:none; margin:10px 0 0; padding:4px 0 !important; background:none; color:var(--muted,#6b7c77); font:700 12.5px var(--font,system-ui) !important; text-decoration:underline; text-underline-offset:2px; }
  #vcTour.tt-auto.tt-first #vcTourTip .tt-off{ display:inline-block; }
  /* v261: a section's tour is offered by a small pill that never blocks the page */
  #vcTourHint{ position:fixed; left:50%; transform:translateX(-50%); bottom:calc(84px + env(safe-area-inset-bottom, 0px)); z-index:9050; display:flex; align-items:center; gap:8px; max-width:calc(100vw - 24px); padding:7px 7px 7px 14px; border-radius:999px; background:var(--card,#fff); color:var(--ink,#062822); box-shadow:0 10px 30px rgba(0,0,0,.18); border:1px solid var(--paper-dark,#e7dcc2); font:700 13.5px var(--font,system-ui); animation:vcThIn .25s ease-out; }
  #vcTourHint span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  #vcTourHint button{ border:none; cursor:pointer; font:800 13px var(--font,system-ui); min-height:36px; border-radius:999px; }
  #vcTourHint .vth-go{ background:var(--cover,#0F766E); color:#fff; padding:0 14px; white-space:nowrap; }
  #vcTourHint .vth-x{ background:transparent; color:var(--muted,#6b7c77); width:36px; }
  @media (min-width:1024px){ #vcTourHint{ bottom:24px; left:auto; right:24px; transform:none; animation:none; } }
  @keyframes vcThIn{ from{ opacity:0; transform:translate(-50%, 10px); } to{ opacity:1; transform:translate(-50%, 0); } }
  @media (prefers-reduced-motion: reduce){ #vcTourHint{ animation:none; } }
  body.dark-mode #vcTourHint{ border-color:rgba(255,255,255,.14); }
