.project--custom .project__first {
  display: flex;
  align-items: center;
}

/* 原模板会在窄屏显示阻挡页面的提示层；移动端直接进入正常作品页。 */
.responsive-layer,
.responsive-layer.is-desktop {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html,
body,
#app,
.view-home {
  max-width: 100%;
  overflow-x: hidden;
}

.project--custom .project__title {
  min-width: 0;
}

.project--custom .project__line {
  flex: 1;
  margin: 0 0.5rem 2px;
  min-width: 0.75rem;
  height: 2px;
  background-color: #d9d3ca;
  opacity: 0.5;
}

.projects.is-light .project--custom .project__line {
  background-color: #2d2d44;
}

.cta-hover-unified,
[data-unified-hover="true"] {
  --cta-hover-shift: 12px;
  overflow: visible;
}

[data-unified-hover="true"] {
  position: relative;
  z-index: 2;
}

.projects__list .project__first {
  overflow: visible;
}

.projects__list .project__link[data-unified-hover="true"] {
  --cta-hover-shift: 10px;
  box-sizing: content-box;
  padding-right: 12px;
}

[data-unified-hover="true"] .cta-link__label {
  display: inline-flex;
  overflow: visible;
  white-space: nowrap;
  transition: color 220ms ease;
}

[data-unified-hover="true"] .cta-hover-char {
  display: inline-block;
  transform-origin: center;
  transform: translateX(0);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: calc(var(--cta-index, 0) * 12ms);
}

[data-unified-hover="true"] .cta-link__icon {
  transform: translateX(0);
  transition:
    color 220ms ease,
    transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

[data-unified-hover="true"]:not(:hover):not(:focus-visible)
  .cta-hover-char {
  transition-delay: 0ms;
}

@media (hover: hover) and (pointer: fine) {
  [data-unified-hover="true"]:hover .cta-link__icon,
  [data-unified-hover="true"]:hover .cta-link__label,
  [data-unified-hover="true"]:focus-visible .cta-link__icon,
  [data-unified-hover="true"]:focus-visible .cta-link__label {
    color: #fff;
  }

  [data-unified-hover="true"]:hover .cta-link__icon,
  [data-unified-hover="true"]:focus-visible .cta-link__icon,
  [data-unified-hover="true"]:hover .cta-hover-char,
  [data-unified-hover="true"]:focus-visible .cta-hover-char {
    transform: translate3d(var(--cta-hover-shift), 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-unified-hover="true"] .cta-link__icon,
  [data-unified-hover="true"] .cta-hover-char {
    transform: none !important;
  }
}

@media (min-width: 64em) {
  .side-panel.side-panel.is-desktop .side-panel__content {
    min-height: 0;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: rgb(217 211 202 / 60%) transparent;
    scrollbar-width: thin;
  }

  .side-panel.side-panel.is-desktop .side-panel__content.is-hidden {
    overflow-y: hidden;
    scrollbar-color: transparent transparent;
  }

  .side-panel.side-panel.is-desktop:has(.side-panel__content.is-hidden)
    .os-scrollbar {
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .side-panel.side-panel.is-desktop
    .side-panel__content::-webkit-scrollbar {
    width: 4px;
  }

  .side-panel.side-panel.is-desktop
    .side-panel__content::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgb(217 211 202 / 60%);
  }

}

@media (min-width: 64em) and (max-width: 89.999em) {
  .side-panel.side-panel.is-desktop .side-panel__content {
    height: 100%;
    justify-content: flex-start;
  }
}
