/* TLC Site effects */

/* scroll progress */
.tlc-fx__progress { position: fixed; inset-inline: 0; top: 0; z-index: 80; height: 3px; width: 100%; background: color-mix(in srgb, var(--tlc-ivory) 5%, transparent); }
.tlc-fx__progress-bar { height: 100%; transform-origin: left; transform: scaleX(0); background: linear-gradient(to right, var(--tlc-brass-soft), var(--tlc-brass)); }

/* cursor dot */
.tlc-fx__cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 7px;
  height: 7px;
  border-radius: 9999px;
  background: var(--tlc-brass);
  mix-blend-mode: screen;
  pointer-events: none;
  opacity: 0;
  transform: translate(-200px, -200px);
  will-change: transform, width, height, opacity;
}
@media (pointer: coarse) { .tlc-fx__cursor { display: none; } }

/* back to top */
.tlc-fx__top {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 50;
  display: flex;
  height: 2.75rem;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border: 1px solid color-mix(in srgb, var(--tlc-brass) 30%, transparent);
  background: color-mix(in srgb, var(--tlc-navy) 80%, transparent);
  color: var(--tlc-brass-soft);
  backdrop-filter: blur(4px);
  cursor: pointer;
  opacity: 0;
  transform: scale(0.75);
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.tlc-fx__top.is-show { opacity: 1; transform: scale(1); pointer-events: auto; }
.tlc-fx__top:hover { border-color: var(--tlc-brass); background: var(--tlc-brass); color: var(--tlc-ink); }
