/* R1: согласованная общая навигация при прокрутке. */
html header[data-scroll-nav] {
  position: sticky;
  top: 0;
  transition: transform 180ms ease;
  transform: translateY(0);
}
html header[data-scroll-nav][data-scroll-hidden="true"] {
  transform: translateY(calc(-100% - 2px));
  pointer-events: none;
}
html header[data-scroll-nav]:has(:focus-visible, input:focus, textarea:focus, [contenteditable="true"]:focus) {
  transform: translateY(0);
  pointer-events: auto;
}
.gtsn-top {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(calc(20px + env(safe-area-inset-bottom)), var(--gtsn-clearance, 0px));
  z-index: 70;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #092c4533;
  border-radius: 8px;
  background: #fffffff2;
  color: #092c45;
  box-shadow: 0 2px 10px #092c4508;
  cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease;
}
.gtsn-top[hidden] { display: none !important; }
.gtsn-top svg { display: block; width: 22px; height: 22px; }
.gtsn-top:hover { background: #fff; border-color: #092c4577; }
.gtsn-top:focus-visible { outline: 2px solid #092c45; outline-offset: 4px; }
/* На компьютере кнопка остаётся внутри общей полосы контента.
   Проценты исключают ширину полосы прокрутки, как и layout-grid.css. */
@media (min-width: 761px) {
  .gtsn-top {
    right: max(var(--gt-layout-gutter, 32px), calc((100% - var(--gt-layout-max, 1220px)) / 2), env(safe-area-inset-right));
    background: #092c45;
    color: #fff;
    border-color: #fff;
    box-shadow: 0 0 0 2px #fff, 0 4px 16px #092c4533;
  }
  .gtsn-top:hover { background: #164461; border-color: #fff; }
}
@media (min-width: 1360px) { .gtsn-top { bottom: max(calc(28px + env(safe-area-inset-bottom)), var(--gtsn-clearance, 0px)); } }
@media (prefers-reduced-motion: reduce) {
  html header[data-scroll-nav], .gtsn-top { transition: none; }
}
@media print { .gtsn-top { display: none !important; } }
