/* t634 Back-to-top arrow (totop.js). 44px tap target, bottom-right above the safe area and any bottom bar. */
.tt-btn { position: fixed; z-index: 56; right: calc(14px + env(safe-area-inset-right, 0px));
  bottom: calc(16px + env(safe-area-inset-bottom, 0px) + var(--tt-lift, 0px));
  width: 44px; height: 44px; padding: 0; margin: 0; display: grid; place-items: center; border-radius: 50%; cursor: pointer;
  background: var(--card); color: var(--accent); border: 1px solid var(--line); box-shadow: 0 4px 14px var(--shadow, rgba(0, 0, 0, .25));
  -webkit-tap-highlight-color: transparent; opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s, transform .2s, visibility 0s linear .2s, bottom .2s; }
.tt-btn.show { opacity: 1; visibility: visible; transform: none; transition: opacity .2s, transform .2s, visibility 0s, bottom .2s; }
.tt-btn:hover { border-color: var(--accent); }
.tt-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.tt-btn svg { display: block; }
html:not(.light) .tt-btn { background: rgba(23, 18, 12, .94); color: var(--gold2); border-color: rgba(217, 179, 106, .45); box-shadow: 0 6px 22px rgba(0, 0, 0, .5); }
html:not(.light) .tt-btn:hover { background: rgba(217, 179, 106, .14); border-color: var(--gold); }
html:not(.light) .tt-btn:focus-visible { outline-color: var(--gold2); }
html.light .tt-btn { background: var(--card); color: var(--accent); }
@media (prefers-reduced-motion: reduce) { .tt-btn, .tt-btn.show { transition: none; transform: none; } }
@media print { .tt-btn { display: none !important; } }
