/* Optical layers move independently: text, hit areas and drawer geometry stay stable. */
[data-liquid-glass] {
  --glass-x: 50%;
  --glass-y: 35%;
  --glass-energy: 0;
  --glass-shift-x: 0px;
  --glass-shift-y: 0px;
  --glass-tilt-x: 0deg;
  --glass-tilt-y: 0deg;
  --glass-stretch-x: 1;
  --glass-stretch-y: 1;
}

@media (min-width: 1200px) {
  .header-basic [data-liquid-glass] .links-list {
    position: relative;
    background-image: linear-gradient(165deg, #e8f7ff1c, #b3dfff05 42%, #030c1970);
    border-color: #d7efff63;
    box-shadow: inset 0 1px 0 #fff6, inset 0 -1px 0 #031020b3, 0 8px 24px #0003;
  }
  .header-basic [data-liquid-glass] .links-list::before,
  .header-basic [data-liquid-glass] .links-list::after {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    content: "";
  }
  .header-basic [data-liquid-glass] .links-list::before {
    background: radial-gradient(ellipse 170px 80px at var(--glass-x) var(--glass-y), #e5f8ff60, #93ddff14 48%, transparent 74%);
    opacity: calc(0.2 + var(--glass-energy) * 0.7);
    transform: translate(var(--glass-shift-x), var(--glass-shift-y)) scale(var(--glass-stretch-x), var(--glass-stretch-y));
  }
  .header-basic [data-liquid-glass] .links-list::after {
    inset: 1px;
    border: 1px solid transparent;
    border-top-color: #e7f9ff78;
    border-bottom-color: #8edbff1a;
    background: radial-gradient(ellipse 90px 16px at var(--glass-x) 0, #fff6, transparent);
    opacity: calc(0.35 + var(--glass-energy) * 0.55);
  }
  .header-basic [data-liquid-glass] .menu-item { z-index: 1; }
}

@media (max-width: 1199px) {
  /* The existing ::before owns the column and logo clearance; add light in its grid cell. */
  .header-basic .menu-wrapper[data-liquid-glass]::after {
    grid-column: 1;
    grid-row: 1 / -1;
    z-index: 0;
    min-width: 0;
    pointer-events: none;
    background:
      radial-gradient(ellipse 230px 280px at var(--glass-x) var(--glass-y), #c5ebff21, transparent 72%),
      linear-gradient(110deg, #f0f9ff0c, transparent 45%, #b7e7ff09);
    border-right: 1px solid #d8f5ff55;
    opacity: calc(0.25 + var(--glass-energy) * 0.7);
    content: "";
  }
}

/* Stable 48px target around a gently deforming glass lens. */
#back-to-top.back-to-top {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  right: 24px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  border: 0;
  border-radius: 18px;
  background: transparent;
  color: #effaff;
  box-shadow: none;
  appearance: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 220ms ease, transform 340ms cubic-bezier(0.2, 0.75, 0.2, 1), visibility 220ms;
}
#back-to-top.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
#back-to-top::before,
#back-to-top::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  content: "";
}
#back-to-top::before {
  border: 1px solid #d8f2ff85;
  background: linear-gradient(145deg, #d1efff26, #93d4ff08 45%, #07102080), #0b1d32ec;
  box-shadow: inset 1px 1px 0 #fff7, inset -1px -1px 0 #a6dcff21, 0 5px 20px #0005;
  transform: perspective(220px) translate(var(--glass-shift-x), var(--glass-shift-y)) rotateX(var(--glass-tilt-x)) rotateY(var(--glass-tilt-y)) scale(var(--glass-stretch-x), var(--glass-stretch-y));
  transition: border-radius 440ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 240ms ease;
}
#back-to-top::after {
  inset: 1px;
  border: 1px solid #e3f8ff24;
  background: radial-gradient(circle 35px at var(--glass-x) var(--glass-y), #f5fcff70, #b5eaff26 45%, transparent 75%);
  opacity: calc(0.2 + var(--glass-energy) * 0.72);
  transform: translate(var(--glass-shift-x), var(--glass-shift-y));
}
#back-to-top .back-to-top__arrow {
  position: relative;
  z-index: 1;
  transform: translateY(calc(var(--glass-energy) * -1.5px));
}
#back-to-top.is-glass-pressed::before {
  border-radius: 21px 16px 20px 17px;
  box-shadow: inset 1px 2px 3px #e7faff35, inset -1px -1px 0 #c0eaff45, 0 2px 10px #0003;
}
#back-to-top.is-glass-pressed .back-to-top__arrow { transform: scale(0.92); }
#back-to-top:focus-visible {
  outline: 2px solid #b1edff;
  outline-offset: 5px;
}
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  #back-to-top::before {
    background-color: #0b1d3299;
    -webkit-backdrop-filter: blur(12px) saturate(150%);
    backdrop-filter: blur(12px) saturate(150%);
  }
}
@media (max-width: 767px) {
  #back-to-top.back-to-top { right: 13px; }
}
@media (max-height: 360px) and (orientation: landscape) {
  #back-to-top.back-to-top {
    right: auto;
    left: max(13px, env(safe-area-inset-left, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }
}

@media (prefers-reduced-motion: reduce) {
  #back-to-top.back-to-top { transition: none; transform: none; }
  #back-to-top::before,
  #back-to-top::after,
  #back-to-top .back-to-top__arrow,
  #back-to-top.is-glass-pressed .back-to-top__arrow,
  .header-basic [data-liquid-glass] .links-list::before { transform: none; transition: none; }
  #back-to-top.is-glass-pressed::before { border-radius: inherit; }
  #back-to-top::after,
  .header-basic [data-liquid-glass] .links-list::before,
  .header-basic [data-liquid-glass] .links-list::after,
  .header-basic .menu-wrapper[data-liquid-glass]::after { background: none; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  #back-to-top::before {
    background: #10263d;
    border-color: #c9eaff;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
  #back-to-top::after,
  .header-basic [data-liquid-glass] .links-list::before,
  .header-basic [data-liquid-glass] .links-list::after,
  .header-basic .menu-wrapper[data-liquid-glass]::after { display: none; }
  .header-basic [data-liquid-glass] .links-list { background-image: none; }
}
@media (forced-colors: active) {
  #back-to-top.back-to-top { color: ButtonText; }
  #back-to-top::before {
    background: ButtonFace;
    border: 1px solid ButtonText;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    transform: none;
  }
  #back-to-top::after,
  .header-basic [data-liquid-glass] .links-list::before,
  .header-basic [data-liquid-glass] .links-list::after,
  .header-basic .menu-wrapper[data-liquid-glass]::after { display: none; }
  #back-to-top:focus-visible { outline-color: Highlight; }
}
