:root {
  --cb-ease-out: cubic-bezier(.22, 1, .36, 1);
  --cb-fast: 140ms;
  --cb-smooth: 220ms;
}

@supports (scrollbar-gutter: stable) {
  html {
    scrollbar-gutter: stable;
  }
}

main {
  isolation: isolate;
}

main .overflow-y-auto,
main .overflow-x-auto {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
}

.cb-home-page main {
  transform: translateZ(0);
}

.cb-home-page section:not(:first-of-type) {
  content-visibility: auto;
  contain-intrinsic-size: 720px;
}

.cb-home-page section:first-of-type {
  content-visibility: visible;
}

.cb-home-page .rounded-3xl,
.cb-launch-empty,
.cb-settings-panel,
.cb-saved-panel,
.cb-modal {
  backface-visibility: hidden;
  contain: layout paint;
}

@media (hover: hover) and (pointer: fine) {
  .cb-btn,
  .cb-menu a,
  .cb-menu button,
  .cb-public-account,
  .cb-workspace-account,
  .cb-workspace-logo-link,
  main a,
  main button {
    transition-duration: var(--cb-smooth);
    transition-timing-function: var(--cb-ease-out);
  }

  .cb-btn:hover,
  .cb-public-account:hover,
  .cb-workspace-account:hover {
    transform: translateY(-1px);
  }
}

@media (hover: none), (pointer: coarse) {
  a,
  button,
  input,
  textarea,
  select,
  .cb-btn,
  .cb-google-button,
  .cb-public-account,
  .cb-workspace-account,
  .cb-workspace-logo-link,
  main .rounded-3xl {
    transition-duration: var(--cb-fast) !important;
    transition-property: color, background-color, border-color, opacity, box-shadow !important;
  }

  .group [class*="group-hover"] {
    transition-duration: .01ms !important;
  }
}

@media (max-width: 760px) {
  .blur-3xl,
  .blur-xl,
  .blur-sm {
    display: none !important;
  }

  .backdrop-blur,
  .backdrop-blur-sm,
  .backdrop-blur-xl,
  .cb-modal-backdrop {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .cb-home-page .rounded-3xl {
    box-shadow: 0 14px 36px -26px oklch(0.32 0.045 45 / .42) !important;
  }

  .cb-home-page section:not(:first-of-type) {
    contain-intrinsic-size: 620px;
  }

  .cb-home-page section:first-of-type .relative.h-\[420px\],
  .cb-mobile-demo-fixed {
    contain: layout paint;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cb-home-page section:not(:first-of-type) {
    content-visibility: visible;
    contain-intrinsic-size: auto;
  }
}
