/* ================================================================
   SSOT: Dev Tools Universal Tooltip  v1.0
   ================================================================
   Єдина система підказок для всіх Dev Tools сторінок.

   Використання:
     <button data-tooltip="Текст підказки">...</button>

   Позиція за замовчуванням: ЗНИЗУ елемента (top: 100% + 8px)
   Стиль: brass-plate steampunk (узгоджено з balka / steampunk-kit)

   Позиція зверху:
     <button data-tooltip="Текст" data-tooltip-placement="top">

   Opt-out (не показувати tooltip):
     <button data-tooltip="..." class="no-tooltip">

   ВАЖЛИВО: якщо tooltip обрізається батьківським overflow:hidden —
   додайте `overflow: visible` на цей батьківський контейнер.
   CSS z-index не рятує від overflow:hidden — це обмеження браузера.
   Якщо контейнер НЕ можна змінити — перенесіть елемент вище в DOM
   або використайте JS-портал (div#dt-tooltip-portal у <body>).
   ================================================================ */

/* ─── Базовий: елемент-носій ─── */
.dev-tools-scope [data-tooltip] {
  position: relative;
}

/* При hover — піднімаємо над сусідами щоб стрілочка не обрізалась siblings */
.dev-tools-scope [data-tooltip]:hover,
.dev-tools-scope [data-tooltip]:focus-visible {
  z-index: var(--z-tooltip, 10550); /* FIX: токен sys-1012 замість magic-числа */
}

/* ─── Bubble ─── */
.dev-tools-scope [data-tooltip]::before {
  content: attr(data-tooltip);
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px) scale(0.96);
  padding: 4px 12px;
  background: linear-gradient(180deg, #2e2008 0%, #1a1208 50%, #100c06 100%);
  border: 1px solid #3a2208;
  border-top-color: rgba(240, 200, 100, 0.50);
  border-radius: 3px;
  box-shadow:
    inset 0 1px 0 rgba(240, 210, 120, 0.14),
    0 0 0 1px rgba(92, 58, 26, 0.40),
    0 2px 8px rgba(0, 0, 0, 0.70);
  font-family: var(--font-dt-status, 'IBM Plex Mono', monospace);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #d4a840;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.9), 0 0 4px rgba(197, 139, 58, 0.3);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity   0.18s ease,
    transform 0.22s cubic-bezier(0.2, 0.8, 0.3, 1),
    visibility 0s linear 0.18s;
  z-index: var(--z-tooltip, 10550); /* FIX: токен sys-1012 замість magic-числа */
}

/* ─── Стрілка-ромб ─── */
.dev-tools-scope [data-tooltip]::after {
  content: '';
  position: absolute;
  top: calc(100% + 4px);
  left: 50%;
  width: 7px;
  height: 7px;
  background: linear-gradient(135deg, #3a2208 0%, #2e2008 100%);
  border-top: 1px solid rgba(240, 200, 100, 0.50);
  border-left: 1px solid #3a2208;
  transform: translateX(-50%) rotate(45deg) scale(0.85);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity   0.18s ease,
    transform 0.22s cubic-bezier(0.2, 0.8, 0.3, 1),
    visibility 0s linear 0.18s;
  pointer-events: none;
  z-index: var(--z-tooltip, 10550); /* FIX: токен sys-1012 замість 2147483646 */
}

/* ─── Показ на hover ─── */
.dev-tools-scope [data-tooltip]:hover::before,
.dev-tools-scope [data-tooltip]:focus-visible::before {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0) scale(1);
  transition:
    opacity   0.18s ease,
    transform 0.22s cubic-bezier(0.2, 0.8, 0.3, 1),
    visibility 0s;
}

.dev-tools-scope [data-tooltip]:hover::after,
.dev-tools-scope [data-tooltip]:focus-visible::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) rotate(45deg) scale(1);
  transition:
    opacity   0.18s ease,
    transform 0.22s cubic-bezier(0.2, 0.8, 0.3, 1),
    visibility 0s;
}

/* ─── Opt-out: .no-tooltip скасовує SSOT підказку ─── */
.dev-tools-scope [data-tooltip].no-tooltip::before,
.dev-tools-scope [data-tooltip].no-tooltip::after {
  display: none;
}

/* ─── Позиція ЗВЕРХУ: data-tooltip-placement="top" ─── */
.dev-tools-scope [data-tooltip][data-tooltip-placement="top"]::before {
  top: auto;
  bottom: calc(100% + 8px);
  transform: translateX(-50%) translateY(6px) scale(0.96);
}

.dev-tools-scope [data-tooltip][data-tooltip-placement="top"]::after {
  top: auto;
  bottom: calc(100% + 4px);
  /* перевертаємо ромб — вказує вниз */
  border-top: none;
  border-left: none;
  border-bottom: 1px solid rgba(240, 200, 100, 0.50);
  border-right: 1px solid #3a2208;
}

.dev-tools-scope [data-tooltip][data-tooltip-placement="top"]:hover::before,
.dev-tools-scope [data-tooltip][data-tooltip-placement="top"]:focus-visible::before {
  transform: translateX(-50%) translateY(0) scale(1);
}
