/* ============================================================================
   site-btt.css — ГЛОБАЛЬНАЯ кнопка «наверх» для всех публичных страниц.
   1-в-1 копия кнопки детали новости: .nws-btt из /static/css/news-detail.v7.css
   (21-Oct-2026, ТЗ юзера со скриншотом). Значения токенов перенесены дословно,
   включая dark-glow `89%` (в детали именно так — invalid hue в hover dark даёт
   базовую тень; сохранено для побайтового поведения).
   Иконка: цвет даёт глобальный `!important` из app.css
   (.ph-duotone{oklch(0.65 .12 250/.72)!important}) — как на детали.
   ========================================================================== */

:root {
  --sb-primary: oklch(50% .22 265);
  --sb-glass-bg: rgba(255, 255, 255, .82);
  --sb-glass-border: rgba(20, 30, 60, .10);
  --sb-glass-shadow: 0 8px 32px rgba(0, 0, 0, .08);
  --sb-glass-shadow-lg: 0 16px 48px rgba(0, 0, 0, .12);
  --sb-glow: 0 0 30px oklch(75% .17 85 / .25);
  --sb-spring: cubic-bezier(.34, 1.56, .64, 1);
}
html.dark {
  --sb-primary: oklch(72% .15 240);
  --sb-glass-bg: rgba(22, 27, 34, .85);
  --sb-glass-border: rgba(255, 255, 255, .08);
  --sb-glass-shadow: 0 8px 32px rgba(0, 0, 0, .35);
  --sb-glass-shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);
  --sb-glow: 0 0 40px oklch(82% .16 89% / .18);
}

.site-btt {
  position: fixed; right: 22px; bottom: 22px; z-index: 70;
  width: 48px; height: 48px; border-radius: 14px; border: 1px solid var(--sb-glass-border);
  background: var(--sb-glass-bg); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  color: var(--dm-text, #111); display: grid; place-items: center; box-shadow: var(--sb-glass-shadow-lg);
  opacity: 0; transform: translateY(14px) scale(.9); pointer-events: none; cursor: pointer;
  transition: all .3s var(--sb-spring);
}
.site-btt.on { opacity: 1; transform: none; pointer-events: auto; }
.site-btt:hover { box-shadow: var(--sb-glow), var(--sb-glass-shadow); }
.site-btt i { font-size: 22px; color: var(--sb-primary); }

/* мобильный lift над bottom-nav (53px) + safe-area — как на детали */
@media (max-width: 639px) {
  .site-btt { bottom: calc(53px + env(safe-area-inset-bottom, 0px) + 18px); }
}

@media (prefers-reduced-motion: reduce) {
  .site-btt { transition-duration: .01ms; }
}
@media print {
  .site-btt { display: none !important; }
}
