/* Cutflux — first-visit mobile entry: App Store vs browser */
html.cf-entry-gate-on,
html.cf-entry-gate-on body {
  overflow: hidden !important;
}

html.cf-entry-gate-on .page,
html.cf-entry-gate-on .hero-bg,
html.cf-entry-gate-on .pm-app,
html.cf-entry-gate-on .app-shell,
html.cf-entry-gate-on #appRoot,
html.cf-entry-gate-on .mob-shell,
html.cf-entry-gate-on body > .app {
  visibility: hidden !important;
  pointer-events: none !important;
}

.cf-entry-gate {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: none;
  align-items: stretch;
  justify-content: center;
  padding: max(20px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(90, 160, 255, .22), transparent 55%),
    radial-gradient(ellipse 70% 45% at 80% 90%, rgba(61, 142, 240, .12), transparent 50%),
    #04050c;
  color: #eef2f8;
  font-family: "Plus Jakarta Sans", Inter, system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}

html.cf-entry-gate-on .cf-entry-gate {
  display: flex;
}

.cf-entry-gate-inner {
  width: min(420px, 100%);
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 22px;
  animation: cfEntryIn .45s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes cfEntryIn {
  from { opacity: 0; transform: translateY(18px) scale(.98); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cf-entry-gate-inner { animation: none; }
}

.cf-entry-gate-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

.cf-entry-gate-brand img {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  object-fit: cover;
  box-shadow: 0 10px 32px rgba(90, 160, 255, .28);
}

.cf-entry-gate-brand .name {
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #fff;
}

.cf-entry-gate-copy {
  text-align: center;
}

.cf-entry-gate-copy h1 {
  margin: 0;
  font-size: clamp(26px, 7vw, 32px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.15;
  color: #fff;
}

.cf-entry-gate-copy p {
  margin: 10px auto 0;
  max-width: 300px;
  font-size: 14px;
  line-height: 1.45;
  color: #8791a4;
}

.cf-entry-gate-choices {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cf-entry-choice {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 16px 16px 16px 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .04);
  color: inherit;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
  font: inherit;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
  -webkit-tap-highlight-color: transparent;
}

.cf-entry-choice:active {
  transform: scale(.97);
}

.cf-entry-choice--app {
  border-color: rgba(90, 160, 255, .45);
  background: linear-gradient(135deg, rgba(61, 142, 240, .22), rgba(10, 16, 36, .55));
  box-shadow: 0 12px 36px rgba(61, 142, 240, .22);
}

.cf-entry-choice--browser {
  border-color: rgba(255, 255, 255, .12);
  background: rgba(8, 12, 24, .55);
}

.cf-entry-choice-ico {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, .35);
  border: 1px solid rgba(255, 255, 255, .08);
}

.cf-entry-choice--app .cf-entry-choice-ico {
  background: #fff;
  color: #111;
}

.cf-entry-choice-txt {
  flex: 1 1 auto;
  min-width: 0;
}

.cf-entry-choice-txt strong {
  display: block;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #fff;
}

.cf-entry-choice-txt span {
  display: block;
  margin-top: 3px;
  font-size: 12.5px;
  line-height: 1.35;
  color: #8791a4;
}

.cf-entry-choice-chev {
  flex: 0 0 auto;
  opacity: .55;
  color: #9cc4ff;
}

.cf-entry-gate-foot {
  text-align: center;
  font-size: 11.5px;
  color: #66708a;
  line-height: 1.4;
}
