/* ---- 品牌首页 → 移动端数据库主页：共享元素入场 ---- */
.entry-app-layer {
  min-height: 100vh;
  opacity: 1;
  transition: opacity .62s cubic-bezier(.16, 1, .3, 1);
}
.entry-app-layer.is-veiled { opacity: 0; pointer-events: none; }
.entry-app-layer.is-revealing { opacity: 1; pointer-events: none; }

.entry-shell {
  --entry-inner-radius: clamp(138px, 28vw, 280px);
  --entry-outer-radius: clamp(222px, 41vw, 410px);
  position: fixed;
  inset: 0;
  z-index: 1000;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #4c4948;
  background:
    radial-gradient(circle at 50% 45%, rgba(255,255,255,.98) 0 16%, rgba(248,249,250,.94) 42%, #f8f9fa 72%),
    #f8f9fa;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", Inter, sans-serif;
  opacity: 1;
  transition: opacity .62s cubic-bezier(.24, .86, .22, 1);
  isolation: isolate;
}
.entry-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 38% 40%, rgba(7,112,236,.045), transparent 24%),
    radial-gradient(circle at 64% 58%, rgba(254,156,37,.04), transparent 26%);
}
.entry-shell.is-transitioning { opacity: 0; pointer-events: none; }
.entry-shell:focus, .hm-brand.entry-brand-target:focus { outline: none; }

.entry-skip {
  position: absolute;
  top: max(18px, env(safe-area-inset-top));
  right: max(18px, env(safe-area-inset-right));
  z-index: 8;
  min-width: 60px;
  height: 44px;
  padding: 0 17px;
  border: 1px solid rgba(76,73,72,.1);
  border-radius: 999px;
  color: rgba(65,71,84,.68);
  background: rgba(255,255,255,.66);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  backdrop-filter: blur(16px) saturate(160%);
  box-shadow: 0 5px 20px rgba(30,40,65,.06), inset 0 1px 0 rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, transform .16s ease, opacity .24s ease;
}
.entry-skip:hover { color: #25282e; background: rgba(255,255,255,.9); }
.entry-skip:active { transform: scale(.95); }
.entry-skip:focus-visible { outline: 3px solid rgba(7,112,236,.22); outline-offset: 3px; }
.entry-shell.is-transitioning .entry-skip { opacity: 0; }

.entry-orbit-stage {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  overflow: hidden;
  animation: entry-orbits-in .9s cubic-bezier(.16, 1, .3, 1) both;
}
.entry-orbit-ring {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  z-index: 1;
  animation: entry-orbit-spin var(--entry-duration) linear infinite;
  will-change: transform;
}
.entry-orbit-ring.is-reverse { animation-name: entry-orbit-spin-reverse; }
.entry-orbit-ring.is-outer { opacity: .78; }
.entry-orbit-ring.is-inner { opacity: .9; }
.entry-orbit-item {
  --entry-item-size: clamp(56px, 7.2vw, 82px);
  position: absolute;
  left: 0;
  top: 0;
  width: var(--entry-item-size);
  height: var(--entry-item-size);
  margin: calc(var(--entry-item-size) / -2);
  transform: rotate(var(--entry-angle)) translateX(var(--entry-radius));
  transform-origin: center;
}
.entry-orbit-inward {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  /* 产品图以顶部为“头部”；随轨道转动，并始终朝向圆心。 */
  transform: rotate(-90deg);
  transform-origin: center;
}
.entry-orbit-inward img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  filter: drop-shadow(0 8px 10px rgba(31,38,52,.12));
}

.entry-center {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(92vw, 620px);
  transform: translateY(-16px);
  animation: entry-center-in .82s cubic-bezier(.16, 1, .3, 1) both;
}
.entry-center::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  width: min(580px, 96vw);
  height: 270px;
  pointer-events: none;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse at center,
    rgba(248,249,250,1) 0 46%,
    rgba(248,249,250,.94) 57%,
    rgba(248,249,250,.62) 68%,
    transparent 82%);
}
.entry-copy { display: flex; flex-direction: column; align-items: stretch; }
.entry-brand-line {
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  min-height: 80px;
  margin: 0;
  color: #4c4948;
  white-space: nowrap;
  transform-origin: left top;
}
.entry-brand-core {
  display: flex;
  align-items: center;
  width: max-content;
  min-height: 80px;
  transform-origin: left top;
}
.entry-brand-lead {
  font-size: clamp(39px, 5.5vw, 56px);
  font-weight: 620;
  line-height: 1;
  letter-spacing: -.04em;
}
.entry-brand-logo {
  display: block;
  width: auto;
  height: clamp(49px, 7.1vw, 69px);
  margin-left: 5px;
  object-fit: contain;
  user-select: none;
}
.entry-brand-ai {
  display: block;
  margin-left: 4px;
  font-family: Manrope, Inter, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: clamp(61px, 8.4vw, 82px);
  font-weight: 820;
  line-height: .88;
  letter-spacing: -.055em;
}
.entry-copy p {
  margin: 5px 2px 0 auto;
  color: #414754;
  font-size: clamp(13px, 1.55vw, 16px);
  font-weight: 450;
  line-height: 1.5;
  text-align: right;
}
.entry-copy p span {
  display: inline-block;
  min-width: 6ch;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.entry-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 250px;
  min-height: 56px;
  margin-top: 44px;
  padding: 0 30px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(180deg, #1674f0, #005ac2);
  box-shadow: 0 11px 26px rgba(0,88,190,.2), inset 0 1px 0 rgba(255,255,255,.28);
  font-size: 17px;
  font-weight: 720;
  letter-spacing: -.01em;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .22s ease, filter .22s ease;
}
.entry-cta:hover { filter: brightness(1.04); box-shadow: 0 15px 32px rgba(0,88,190,.26), inset 0 1px 0 rgba(255,255,255,.3); }
.entry-cta:hover svg { transform: translateX(3px); }
.entry-cta:active { transform: scale(.96); }
.entry-cta:focus-visible { outline: 4px solid rgba(7,112,236,.22); outline-offset: 4px; }
.entry-cta svg { flex: 0 0 auto; transition: transform .2s cubic-bezier(.16, 1, .3, 1); }

.entry-flight-brand {
  position: fixed !important;
  z-index: 1200 !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
  transform-origin: left top !important;
  backface-visibility: hidden;
  contain: layout paint style;
  will-change: transform, opacity;
}

.hm-brand.entry-brand-target {
  display: flex;
  align-items: center;
  width: max-content;
  transition: none;
}
.hm-brand-core { zoom: .42; }

@keyframes entry-orbit-spin { to { transform: rotate(360deg); } }
@keyframes entry-orbit-spin-reverse { to { transform: rotate(-360deg); } }
@keyframes entry-orbits-in {
  from { opacity: 0; transform: scale(.94); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes entry-center-in {
  from { opacity: 0; transform: translateY(2px) scale(.94); }
  to { opacity: 1; transform: translateY(-16px) scale(1); }
}

@media (max-width: 620px) {
  .entry-shell {
    --entry-inner-radius: clamp(174px, 45vw, 205px);
    --entry-outer-radius: clamp(265px, 70vw, 320px);
  }
  .entry-orbit-item { --entry-item-size: clamp(44px, 13vw, 56px); }
  .entry-center { width: calc(100vw - 30px); transform: translateY(-12px); }
  .entry-brand-line { min-height: 58px; }
  .entry-brand-core { min-height: 58px; }
  .entry-brand-lead { font-size: clamp(29px, 8.7vw, 39px); }
  .entry-brand-logo { height: clamp(37px, 11.2vw, 49px); margin-left: 3px; }
  .entry-brand-ai { margin-left: 2px; font-size: clamp(46px, 13.7vw, 61px); }
  .hm-brand-core { zoom: .54; }
  .entry-copy p { margin-top: 7px; font-size: 12.5px; }
  .entry-cta { min-width: 236px; min-height: 54px; margin-top: 38px; font-size: 16px; }
  @keyframes entry-center-in {
    from { opacity: 0; transform: translateY(4px) scale(.94); }
    to { opacity: 1; transform: translateY(-12px) scale(1); }
  }
}

@media (max-height: 620px) {
  .entry-center { transform: translateY(-4px); }
  .entry-cta { min-height: 50px; margin-top: 25px; }
  .entry-copy p { margin-top: 3px; }
  @keyframes entry-center-in {
    from { opacity: 0; transform: translateY(10px) scale(.95); }
    to { opacity: 1; transform: translateY(-4px) scale(1); }
  }
}

@media (prefers-reduced-motion: reduce) {
  .entry-app-layer, .entry-shell, .entry-skip, .entry-cta, .entry-cta svg, .hm-brand.entry-brand-target {
    transition-duration: .01ms !important;
  }
  .entry-orbit-ring, .entry-orbit-upright, .entry-orbit-stage, .entry-center { animation: none !important; }
}
