:root {
  --glass-bg: rgba(255, 253, 250, .84);
  --glass-bg-strong: rgba(255, 253, 250, .92);
  --glass-edge: rgba(255, 255, 255, .5);
  --glass-edge-soft: rgba(43, 33, 28, .06);
  --glass-shadow: 0 14px 40px -26px rgba(43, 33, 28, .3);
  --glass-blur: 20px;
  --glass-sat: 1.3;
  --glass-scrim: rgba(28, 20, 16, .3);
}
:root[data-theme="dark"] {
  --glass-bg: rgba(24, 19, 17, .84);
  --glass-bg-strong: rgba(24, 19, 17, .92);
  --glass-edge: rgba(255, 255, 255, .1);
  --glass-edge-soft: rgba(255, 255, 255, .07);
  --glass-shadow: 0 18px 50px -20px rgba(0, 0, 0, .7);
  --glass-scrim: rgba(0, 0, 0, .42);
}

@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .px-bottomnav,
  .st-tabbar,
  .sheet,
  .st-menu-panel,
  .notification-dropdown,
  .px-lang-panel,
  .bo-lang-panel,
  .policy-modal,
  .blob-modal,
  .checkin-modal,
  .entry-promo-card,
  .gender-card,
  .kol-doc-sheet,
  .wd-export-dialog,
  .wd-qr-dialog-card,
  .blob-toast,
  .discover-toast {
    background: var(--glass-bg) !important;
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    border: 1px solid var(--glass-edge-soft) !important;
    box-shadow: inset 0 1px 0 var(--glass-edge), var(--glass-shadow) !important;
  }

  .px-header,
  .st-topbar {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    isolation: isolate;
  }
  .px-header::before,
  .st-topbar::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--glass-bg);
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    box-shadow: inset 0 -1px 0 var(--glass-edge-soft);
    pointer-events: none;
  }
  .px-bottomnav,
  .st-tabbar {
    border-width: 1px 0 0 !important;
    box-shadow: inset 0 1px 0 var(--glass-edge) !important;
  }

  .sheet {
    background: var(--glass-bg-strong) !important;
    border-width: 1px 1px 0 !important;
  }
  @media (min-width: 761px) {
    .sheet {
      border-width: 0 0 0 1px !important;
    }
  }
  .sheet-overlay,
  .policy-modal-scrim,
  .blob-modal-scrim,
  .checkin-scrim,
  .entry-promo-scrim,
  .gender-scrim,
  .st-scrim,
  .bo-guide-scrim {
    background: var(--glass-scrim) !important;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }

  .st-sidebar {
    -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
    backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  }
  @media (max-width: 760px) {
    .st-sidebar {
      background: var(--glass-bg-strong) !important;
      border-right: 1px solid var(--glass-edge-soft) !important;
    }
    .backoffice-shell .st-sidebar {
      background: rgba(24, 19, 17, .8) !important;
    }
  }

  .sheet-handle {
    background: color-mix(in srgb, currentColor 30%, transparent) !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .px-header,
  .st-topbar,
  .px-bottomnav,
  .st-tabbar,
  .sheet,
  .st-menu-panel,
  .notification-dropdown,
  .policy-modal,
  .blob-modal,
  .checkin-modal {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: var(--glass-bg-strong) !important;
  }
}
