/* Обучающий тур: затемнение, подсвеченный вырез, подсказка. */
.tour { position:fixed; inset:0; z-index:80; display:none; }
.tour.on { display:block; }
.tour-block { position:absolute; inset:0; }
.tour-hole { position:fixed; border-radius:4px; pointer-events:none;
             box-shadow:0 0 0 9999px rgba(15,20,28,.55); outline:2px solid #fff; transition:all .25s ease; }
.tour-hole.pulse { animation:tourPulse 1.4s ease-in-out infinite; }
@keyframes tourPulse { 50% { outline-color:#9fc2e3; outline-offset:4px; } }
.tour-tip { position:fixed; background:var(--surface); border:1px solid var(--line); border-radius:4px;
            padding:14px 16px; box-shadow:0 8px 24px rgba(0,0,0,.18); }
.tour-tip::before { content:''; position:absolute; left:22px; top:-7px; width:12px; height:12px; background:var(--surface);
                    border-left:1px solid var(--line); border-top:1px solid var(--line); transform:rotate(45deg); }
.tour-tip.above::before { top:auto; bottom:-7px; transform:rotate(225deg); }
.tour-count { font-size:12px; color:var(--mut); margin-bottom:2px; }
.tour-title { display:block; font-size:15px; margin-bottom:4px; }
.tour-text { font-size:13.5px; color:var(--txt); margin-bottom:12px; }
.tour-act { display:flex; justify-content:space-between; gap:12px; }
.help-btn { margin-left:auto; }
@media (prefers-reduced-motion: reduce) { .tour-hole { transition:none; } .tour-hole.pulse { animation:none; } }
