/* Tour guiado do Abil Lab (tour.js): furo de luz sobre a tela real + caixa com capítulos. */
.tour { position: fixed; inset: 0; z-index: 75; pointer-events: none; --tour-sombra: rgba(10, 14, 28, .5); }
:root[data-theme="dark"] .tour { --tour-sombra: rgba(0, 0, 0, .66); }
.tour-bloqueio { position: fixed; inset: 0; pointer-events: auto; }
.tour-furo { position: fixed; border-radius: 18px; pointer-events: none; box-shadow: 0 0 0 9999px var(--tour-sombra), 0 0 0 3px var(--os-blue), 0 0 0 9px color-mix(in srgb, var(--os-blue) 18%, transparent);
  transition: left .4s cubic-bezier(.2,.85,.25,1), top .4s cubic-bezier(.2,.85,.25,1), width .4s cubic-bezier(.2,.85,.25,1), height .4s cubic-bezier(.2,.85,.25,1), opacity .25s ease; }
.experimente ~ .tour-furo, .tour.livre .tour-furo { animation: tour-pulso 1.6s ease-out infinite; }
@keyframes tour-pulso { 0% { box-shadow: 0 0 0 9999px var(--tour-sombra), 0 0 0 3px var(--os-blue), 0 0 0 3px color-mix(in srgb, var(--os-blue) 45%, transparent); } 100% { box-shadow: 0 0 0 9999px var(--tour-sombra), 0 0 0 3px var(--os-blue), 0 0 0 16px transparent; } }
.tour.saindo { opacity: 0; transition: opacity .2s ease; }

.tour-caixa { position: fixed; pointer-events: auto; width: min(380px, calc(100vw - 24px)); background: var(--os-panel); border: 1px solid var(--os-line); border-radius: 20px; box-shadow: var(--os-shadow);
  transition: left .4s cubic-bezier(.2,.85,.25,1), top .4s cubic-bezier(.2,.85,.25,1); }
.tour-caixa.central { width: min(460px, calc(100vw - 24px)); }
.tour-caixa.entra .tour-conteudo { animation: tour-entra .35s cubic-bezier(.2,.85,.25,1) both; }
@keyframes tour-entra { from { opacity: 0; transform: translateY(6px); } }
.tour-conteudo { padding: 16px 18px 14px; }
.tour-seta { position: absolute; width: 14px; height: 14px; background: var(--os-panel); border: 1px solid var(--os-line); transform: translateX(-50%) rotate(45deg); }
.tour-seta[data-lado='baixo'] { top: -8px; border-right: 0; border-bottom: 0; }
.tour-seta[data-lado='cima'] { bottom: -8px; border-left: 0; border-top: 0; }

.tour-caps { display: flex; gap: 4px; margin: 0 0 10px; overflow-x: auto; scrollbar-width: none; }
.tour-caps::-webkit-scrollbar { display: none; }
.tour-caps button { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 4px; height: 24px; min-width: 24px; padding: 0 7px; border-radius: 99px; border: 1px solid var(--os-line); background: none; color: var(--os-muted); font: inherit; font-size: 11.5px; cursor: pointer; }
.tour-caps button .i { width: 11px; height: 11px; }
.tour-caps button.feito { color: var(--os-green); border-color: color-mix(in srgb, var(--os-green) 35%, transparent); }
.tour-caps button.atual { padding: 0 10px;  color: var(--os-blue-ink); background: var(--os-blue); border-color: var(--os-blue); }
.tour-caps button:hover:not(.atual) { color: var(--os-ink); border-color: var(--os-line-strong); }
.tour-barra { height: 4px; border-radius: 99px; background: var(--os-panel-2); overflow: hidden; margin-bottom: 12px; }
.tour-barra i { display: block; height: 100%; background: var(--os-blue); border-radius: inherit; transition: width .4s ease; }
.tour-caixa .kicker { display: inline-flex; align-items: center; gap: 5px; color: var(--os-blue); }
.tour-caixa .kicker .i { width: 13px; height: 13px; }
.tour-caixa h3 { display: flex; align-items: center; gap: 8px; font-size: 17px; letter-spacing: -0.025em; margin: 6px 0 6px; }
.tour-caixa p { margin: 0; color: var(--os-muted); font-size: 14px; line-height: 1.55; }
.tour-caixa p b { color: var(--os-ink); font-weight: 500; }
.tour-mao { width: 26px; height: 26px; border-radius: 8px; display: inline-grid; place-items: center; background: var(--os-blue-soft); color: var(--os-blue); transform: rotate(-90deg); flex: none; }
.tour-mao .i { width: 15px; height: 15px; }
.tour-dica { display: flex; gap: 8px; align-items: flex-start; margin-top: 10px; padding: 9px 11px; border-radius: 12px; background: var(--os-panel-2); color: var(--os-muted); font-size: 12.8px; }
.tour-dica .i { width: 14px; height: 14px; margin-top: 2px; flex: none; color: var(--os-gold); }
.tour-pe { display: flex; gap: 8px; align-items: center; margin-top: 14px; }
.tour-esp { flex: 1; }
.tour-atalhos { margin-top: 10px; font-size: 11.5px; color: var(--os-muted); text-align: right; }
.tour-atalhos kbd { font: inherit; font-size: 10.5px; padding: 1px 5px; border-radius: 5px; border: 1px solid var(--os-line-strong); margin-right: 2px; }

/* Central de ajuda */
.central-ops { display: grid; gap: 8px; }
.central-op { display: flex; gap: 12px; align-items: center; text-align: left; padding: 13px 14px; border-radius: 16px; border: 1px solid var(--os-line); background: var(--os-panel); font: inherit; color: var(--os-ink); cursor: pointer; transition: border-color .15s, transform .15s; }
.central-op:hover { border-color: var(--os-blue); transform: translateY(-1px); }
.central-op.destaque { border-color: color-mix(in srgb, var(--os-blue) 45%, var(--os-line)); background: color-mix(in srgb, var(--os-blue-soft) 60%, var(--os-panel)); }
.central-op > div { flex: 1; min-width: 0; }
.central-op b { display: block; font-weight: 500; }
.central-op span:not(.tipo-icone) { color: var(--os-muted); font-size: 13px; }
.central-op > .i { color: var(--os-muted); width: 16px; height: 16px; }
.central-mapa { margin-top: 18px; display: grid; gap: 6px; }
.central-mapa .kicker { margin-bottom: 4px; }
.central-aba { display: grid; grid-template-columns: 20px 110px 1fr; gap: 10px; align-items: center; text-align: left; padding: 9px 10px; border: 0; border-radius: 12px; background: none; font: inherit; color: var(--os-ink); cursor: pointer; }
.central-aba:hover { background: var(--os-panel-2); }
.central-aba .i { width: 16px; height: 16px; color: var(--os-blue); }
.central-aba b { font-weight: 500; font-size: 14px; }
.central-aba span { color: var(--os-muted); font-size: 13px; }

@media (max-width: 640px) {
  .tour-caixa { width: calc(100vw - 24px); }
  .central-aba { grid-template-columns: 20px 1fr; }
  .central-aba span { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) { .tour *, .tour { animation: none !important; transition: none !important; } }
