/* =========================================================================
   SUBPAGES · SHARED
   TIMELINE / LIKES / LINKS 공통 기반
   ========================================================================= */


/* =========================================================================
   SUBPAGE SECTION TYPOGRAPHY BASE
   TIMELINE / LIKES / LINKS 공통 페이지 헤더 타이포
   ========================================================================= */

.page-timeline .section-header,
.page-likes .section-header,
.page-links .section-header {
  max-width: 620px;
  margin-bottom: clamp(38px, 6vh, 64px);
}

.page-timeline .section-eyebrow,
.page-likes .section-eyebrow,
.page-links .section-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.3em;
  color: var(--gold);
}

.page-timeline .section-eyebrow::before,
.page-likes .section-eyebrow::before,
.page-links .section-eyebrow::before {
  content: "";
  width: 30px;
  height: 1px;
  background: linear-gradient(to right, var(--gold), rgba(243, 207, 154, 0));
}

.page-timeline .section-title,
.page-likes .section-title,
.page-links .section-title {
  margin: 14px 0 16px;
  font-family: var(--font-display);
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 500;
  letter-spacing: 0.07em;
  color: var(--text);
  text-shadow: 0 0 40px rgba(150, 122, 232, 0.3);
}

@supports (-webkit-background-clip: text) or (background-clip: text) {
  .page-timeline .section-title,
  .page-likes .section-title,
  .page-links .section-title {
    background: linear-gradient(
      112deg,
      #ffffff 0%,
      #efe8ff 45%,
      var(--lavender) 100%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
}

.page-timeline .section-title::after,
.page-likes .section-title::after,
.page-links .section-title::after {
  content: "";
  display: inline-block;
  width: clamp(60px, 12vw, 150px);
  height: 1px;
  margin: 0 0 0.28em 20px;
  vertical-align: middle;
  background: linear-gradient(
    to right,
    rgba(243, 207, 154, 0.6),
    rgba(243, 207, 154, 0)
  );
}

.page-timeline .section-description,
.page-likes .section-description,
.page-links .section-description {
  font-size: clamp(14px, 1.2vw, 16px);
  line-height: 1.9;
  color: var(--text-soft);
}



/* =========================================================================
   08. SUB PAGES  ·  timeline.html / likes.html / links.html
   -------------------------------------------------------------------------
   모든 선택자가 .page-timeline / .page-likes / .page-links 스코프입니다.
   HOME(.section-hero)과 PROFILE(.page-profile)에는 영향이 없습니다.
   ========================================================================= */

/* -------------------------------------------------
   08-1. 세 페이지 공통 — 베이스 / 헤더 / 섹션 틀
   ------------------------------------------------- */
.page-timeline,
.page-likes,
.page-links {
  background: var(--bg-deep);
  /* sticky를 막는 overflow-x: hidden 대신 clip */
  overflow-x: clip;
}

/* 헤더 — HOME / PROFILE과 같은 밴드 */
.page-timeline .site-header,
.page-likes .site-header,
.page-links .site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  padding: clamp(16px, 2.2vh, 24px) var(--pad-x);
  background:
    radial-gradient(80% 180% at 12% 0%, rgba(120, 92, 200, 0.18) 0%, rgba(120, 92, 200, 0) 70%),
    linear-gradient(to bottom, rgba(16, 13, 36, 0.92) 0%, rgba(11, 9, 24, 0.86) 100%);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent;
  border-image: linear-gradient(
      to right,
      rgba(243, 207, 154, 0.34) 0%,
      rgba(190, 176, 238, 0.2) 42%,
      rgba(190, 176, 238, 0.04) 100%
    )
    1;
  box-shadow: 0 14px 40px rgba(4, 3, 12, 0.45);
}

/* 현재 페이지 표시 */
.page-timeline .site-nav a[href$="timeline.html"],
.page-likes .site-nav a[href$="likes.html"],
.page-links .site-nav a[href$="links.html"] {
  color: var(--text);
}

.page-timeline .site-nav a[href$="timeline.html"]::after,
.page-likes .site-nav a[href$="likes.html"]::after,
.page-links .site-nav a[href$="links.html"]::after {
  right: 0;
  background: linear-gradient(to right, var(--gold), rgba(197, 180, 243, 0.5));
  opacity: 0.9;
}

/* 섹션 틀 */
.page-timeline .section-timeline,
.page-likes .section-likes,
.page-links .section-links {
  position: relative;
  overflow: hidden;
  min-height: 70vh;
  padding: clamp(50px, 7.5vh, 92px) var(--pad-x) clamp(72px, 10vh, 120px);
}

/* 아주 옅은 별가루 (움직이지 않음) */
.page-timeline .section-timeline::after,
.page-likes .section-likes::after,
.page-links .section-links::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.26;
  background-image:
    radial-gradient(1.5px 1.5px at 9% 16%, rgba(255, 255, 255, 0.85), transparent),
    radial-gradient(1.3px 1.3px at 24% 64%, rgba(243, 207, 154, 0.8), transparent),
    radial-gradient(1.2px 1.2px at 38% 22%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1.6px 1.6px at 56% 80%, rgba(197, 180, 243, 0.8), transparent),
    radial-gradient(1.2px 1.2px at 71% 34%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1.4px 1.4px at 86% 62%, rgba(197, 180, 243, 0.75), transparent),
    radial-gradient(1.3px 1.3px at 93% 18%, rgba(243, 207, 154, 0.6), transparent);
}

.page-timeline .timeline-inner,
.page-likes .likes-inner,
.page-links .links-inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}

/* 페이지 헤더 공통 */
.page-timeline .section-header,
.page-likes .section-header,
.page-links .section-header {
  max-width: 620px;
  margin-bottom: clamp(40px, 6.5vh, 72px);
}

.page-timeline .section-eyebrow::after,
.page-likes .section-eyebrow::after,
.page-links .section-eyebrow::after {
  content: "✦";
  font-size: 9px;
  letter-spacing: 0;
  color: var(--gold);
  opacity: 0.8;
}

.page-timeline .section-title,
.page-likes .section-title,
.page-links .section-title {
  margin: 16px 0 18px;
  font-size: clamp(38px, 5vw, 60px);
}

.page-timeline .section-description,
.page-likes .section-description,
.page-links .section-description {
  color: rgba(214, 207, 240, 0.72);
}

/* 하단 페이지 이동 (LIKES · LINKS 공통 형태) */
.page-likes .likes-next,
.page-links .links-home {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  margin-top: clamp(56px, 8vh, 104px);
  padding-top: clamp(22px, 3vh, 30px);
  text-align: right;
  border-top: 1px solid transparent;
  border-image: linear-gradient(
      to right,
      rgba(190, 176, 238, 0) 0%,
      rgba(190, 176, 238, 0.18) 46%,
      rgba(243, 207, 154, 0.45) 100%
    )
    1;
}

.page-likes .likes-next-label,
.page-links .links-home-label {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.3em;
  color: rgba(203, 196, 236, 0.5);
}

.page-likes .likes-next-link,
.page-links .links-home-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: var(--font-display);
  font-size: clamp(26px, 3.2vw, 40px);
  font-weight: 500;
  letter-spacing: 0.09em;
  line-height: 1.25;
  color: var(--text);
  transition: color 0.35s var(--ease);
}

.page-likes .likes-next-link::before,
.page-links .links-home-link::before {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 1px;
  background: linear-gradient(to right, rgba(243, 207, 154, 0.75), rgba(197, 180, 243, 0.35));
  transition: right 0.5s var(--ease);
}

.page-likes .likes-next-link:hover::before,
.page-links .links-home-link:hover::before {
  right: 0;
}

.page-likes .likes-next-link span,
.page-links .links-home-link span {
  display: inline-block;
  color: var(--gold);
  transition: transform 0.35s var(--ease);
}

.page-likes .likes-next-link:hover,
.page-links .links-home-link:hover {
  color: var(--gold);
}

.page-likes .likes-next-link:hover span,
.page-links .links-home-link:hover span {
  transform: translateX(5px);
}

/* =========================================================================
   SUBPAGES · SHARED RESPONSIVE
   기존 subpages-responsive.css 내용을 통합
   ========================================================================= */

/* =========================================================================
   SUBPAGES · SHARED RESPONSIVE
   세 서브페이지 공통 반응형 / 모션
   ========================================================================= */

/* -------------------------------------------------
   08-5. RESPONSIVE
   ------------------------------------------------- */
@media (max-width: 1000px) {
  .page-likes .likes-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .page-links .links-item {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "heading link"
      "text    text";
    align-items: center;
    gap: 14px clamp(16px, 3vw, 28px);
  }
}

@media (max-width: 768px) {
  .page-timeline .site-header,
  .page-likes .site-header,
  .page-links .site-header {
    padding: 14px var(--pad-x);
  }

  .page-timeline .timeline-item {
    grid-template-columns: 14px minmax(0, 1fr);
    gap: 16px;
  }

  .page-timeline .timeline-list::before {
    left: 11px;
  }

  .page-timeline .timeline-marker {
    width: 14px;
    height: 14px;
  }

  .page-timeline .timeline-title {
    font-size: clamp(24px, 7vw, 30px);
  }

  .page-timeline .timeline-text,
  .page-likes .likes-card-text,
  .page-links .links-item-text {
    font-size: 14.5px;
    line-height: 1.85;
  }

  .page-likes .likes-next-link,
  .page-links .links-home-link {
    font-size: clamp(25px, 7.5vw, 32px);
  }
}

@media (max-width: 560px) {
  .page-likes .likes-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-likes .likes-card {
    padding: 22px;
    padding-right: 56px;
  }

  .page-likes .likes-card::before {
    top: 22px;
    bottom: 22px;
  }

  .page-links .links-item {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "heading"
      "text"
      "link";
    align-items: start;
    gap: 14px;
    padding: 24px 4px;
  }

  .page-links .links-item-link {
    justify-self: start;
  }

  .page-links .links-item-title {
    font-size: clamp(22px, 7vw, 28px);
  }
}

@media (max-width: 420px) {
  .page-timeline .timeline-frequency::after {
    width: 18px;
  }

  .page-likes .likes-card-number {
    font-size: 38px;
  }
}

/* -------------------------------------------------
   08-6. MOTION
   ------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
  .page-timeline .timeline-header,
  .page-timeline .timeline-item,
  .page-likes .likes-page-header,
  .page-likes .likes-card,
  .page-likes .likes-next,
  .page-links .links-page-header,
  .page-links .links-item,
  .page-links .links-home {
    animation: page-rise 0.8s var(--ease) backwards;
  }

  .page-timeline .timeline-header,
  .page-likes .likes-page-header,
  .page-links .links-page-header {
    animation-delay: 0.05s;
  }

  .page-timeline .timeline-item:nth-child(1),
  .page-likes .likes-card:nth-child(1),
  .page-links .links-item:nth-child(1) {
    animation-delay: 0.18s;
  }

  .page-timeline .timeline-item:nth-child(2),
  .page-likes .likes-card:nth-child(2),
  .page-links .links-item:nth-child(2) {
    animation-delay: 0.26s;
  }

  .page-timeline .timeline-item:nth-child(3),
  .page-likes .likes-card:nth-child(3),
  .page-links .links-item:nth-child(3) {
    animation-delay: 0.34s;
  }

  .page-timeline .timeline-item:nth-child(4),
  .page-likes .likes-card:nth-child(4) {
    animation-delay: 0.42s;
  }

  .page-likes .likes-card:nth-child(5) {
    animation-delay: 0.5s;
  }

  .page-likes .likes-card:nth-child(6) {
    animation-delay: 0.58s;
  }

  .page-likes .likes-next,
  .page-links .links-home {
    animation-delay: 0.62s;
  }
}

@keyframes page-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-timeline .timeline-header,
  .page-timeline .timeline-item,
  .page-likes .likes-page-header,
  .page-likes .likes-card,
  .page-likes .likes-next,
  .page-links .links-page-header,
  .page-links .links-item,
  .page-links .links-home {
    animation: none !important;
  }
}
