diff --git a/frontend/src/pages/pc/public/TrackDetail.jsx b/frontend/src/pages/pc/public/TrackDetail.jsx
index e6d08ae..8c6dd52 100644
--- a/frontend/src/pages/pc/public/TrackDetail.jsx
+++ b/frontend/src/pages/pc/public/TrackDetail.jsx
@@ -2,7 +2,7 @@ import { useState, useMemo } from 'react';
import { useParams, useNavigate, Link } from 'react-router-dom';
import { useQuery } from '@tanstack/react-query';
import { motion } from 'framer-motion';
-import { Clock, User, Music, Mic2, Play, ExternalLink, ChevronRight } from 'lucide-react';
+import { Clock, User, Music, Mic2, Play, ExternalLink, ChevronRight, Disc3 } from 'lucide-react';
import { getTrack } from '../../../api/public/albums';
import { formatDate } from '../../../utils/date';
@@ -43,96 +43,116 @@ function TrackDetail() {
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 0.3 }}
- className="py-16"
>
-
- {/* 브레드크럼 네비게이션 */}
-
-
- 앨범
-
- /
-
- {track.album?.title}
-
- /
- {track.title}
-
+ {/* 히어로 섹션 - 그라데이션 배경 */}
+
+
+ {/* 브레드크럼 네비게이션 */}
+
+
+ 앨범
+
+
+
+ {track.album?.title}
+
+
+ {track.title}
+
- {/* 트랙 정보 헤더 */}
-
- {/* 앨범 커버 */}
-
navigate(`/album/${encodeURIComponent(track.album?.title || albumName)}`)}
- >
-
-
+ {/* 트랙 정보 헤더 */}
+
+ {/* 앨범 커버 */}
+
+ navigate(`/album/${encodeURIComponent(track.album?.title || albumName)}`)}
+ >
+

+
+ {/* 재생 느낌의 오버레이 */}
+
+
+
+
- {/* 트랙 정보 */}
-
-
- {track.is_title_track === 1 && (
-
- TITLE
+ {/* 트랙 정보 */}
+
+
+ {track.is_title_track === 1 && (
+
+ TITLE
+
+ )}
+
+ Track {String(track.track_number).padStart(2, '0')}
- )}
-
- Track {String(track.track_number).padStart(2, '0')}
-
-
-
- {track.title}
-
- {/* 메타 정보 */}
-
+
+
+ {track.title}
+
+ {/* 앨범 정보 카드 */}
-
- {track.album?.title}
-
- {track.duration && (
-
-
-
{track.duration}
+

+
+
{track.album?.album_type}
+
{track.album?.title}
- )}
-
+
+
- {/* 뮤직비디오 링크 */}
- {track.music_video_url && (
-
-
- 뮤직비디오 보기
-
-
- )}
-
+ {/* 재생 시간 & 뮤비 */}
+
+ {track.duration && (
+
+
+ {track.duration}
+
+ )}
+ {track.music_video_url && (
+
+
+ 뮤직비디오
+
+
+ )}
+
+
+
+
- {/* 크레딧 & 가사 영역 */}
+ {/* 메인 콘텐츠 */}
+
{/* 왼쪽: 크레딧 + 수록곡 */}
@@ -142,40 +162,43 @@ function TrackDetail() {
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ delay: 0.2, duration: 0.4 }}
- className="bg-gray-50 rounded-2xl p-6"
+ className="bg-gradient-to-br from-gray-50 to-gray-100 rounded-2xl p-6 border border-gray-100"
>
-
크레딧
-
+
+
+ 크레딧
+
+
{track.lyricist && (
-
-
-
+
+
+
-
-
작사
-
{track.lyricist}
+
)}
{track.composer && (
-
-
-
+
+
+
-
-
작곡
-
{track.composer}
+
)}
{track.arranger && (
-
-
-
+
+
+
-
-
편곡
-
{track.arranger}
+
)}
@@ -188,30 +211,37 @@ function TrackDetail() {
initial={{ opacity: 0, y: 20 }}
animate={{ opacity: 1, y: 0 }}
transition={{ delay: 0.3, duration: 0.4 }}
- className="bg-white border border-gray-100 rounded-2xl p-6"
+ className="bg-white rounded-2xl p-6 border border-gray-100 shadow-sm"
>
-
수록곡
+
+
+ 수록곡
+
{track.otherTracks?.map((t) => (
-
+
{String(t.track_number).padStart(2, '0')}
{t.title}
{t.is_title_track === 1 && (
-
+
T
)}
@@ -228,16 +258,19 @@ function TrackDetail() {
transition={{ delay: 0.25, duration: 0.4 }}
className="col-span-2"
>
-
-
가사
+
+
+
+ 가사
+
{track.lyrics ? (
-