feat(home): Liquid Glass + Jua 폰트로 헤더·푸터·홈·뮤직 페이지 전환

- layout.tsx: Bagel/Inter/Manrope/SpaceGrotesk → Jua 단일화 + GlassFilter 마운트
- globals.css: 글래스 효과·Jua 폰트 변수
- TopNav: 알약형 글래스 헤더 (스크롤 시 max-w-3xl 축소)
- PublicShell: 푸터 정돈
- 홈 page.tsx: hero 영상 배경 + GlassButton CTA + 트윗 마퀴
- 뮤직 page.tsx: SparklesOverlay + 3D card effect

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-28 02:12:29 +09:00
parent 7ee75f1511
commit 32dce9ea1e
6 changed files with 493 additions and 457 deletions

View File

@@ -56,8 +56,8 @@
--color-foreground: var(--foreground);
--color-primary: var(--primary);
--color-secondary: var(--secondary);
--font-sans: 'CookieRun', -apple-system, system-ui, sans-serif;
--font-mono: 'Geist Mono', ui-monospace, monospace;
--font-sans: var(--font-jua), 'Jua', -apple-system, system-ui, sans-serif;
--font-mono: var(--font-jua), 'Jua', ui-monospace, monospace;
}
* {
@@ -71,11 +71,16 @@ html {
body {
background: var(--background);
color: var(--foreground);
font-family: 'CookieRun', -apple-system, system-ui, sans-serif;
font-family: var(--font-jua), 'Jua', -apple-system, system-ui, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* font-mono utility → Jua 통일 */
.font-mono, code, pre, kbd, samp {
font-family: var(--font-jua), 'Jua', ui-monospace, monospace;
}
/* Dashboard layout */
.dashboard-layout {
display: flex;
@@ -102,18 +107,18 @@ body {
.kx-section {
background: var(--kx-surface);
color: var(--kx-on-surface);
font-family: 'Space Grotesk', 'Inter', 'CookieRun', system-ui, sans-serif;
font-family: var(--font-jua), 'Jua', system-ui, sans-serif;
}
.kx-section p, .kx-section li, .kx-section span:not(.kx-label) {
color: var(--kx-on-variant);
}
.kx-display {
font-family: var(--font-kx-hero), 'Bagel Fat One', 'Space Grotesk', 'CookieRun', system-ui, sans-serif;
font-family: var(--font-jua), 'Jua', system-ui, sans-serif;
letter-spacing: -0.01em;
color: var(--kx-on-surface);
color: inherit;
}
.kx-label {
font-family: 'Manrope', 'Inter', system-ui, sans-serif;
font-family: var(--font-jua), 'Jua', system-ui, sans-serif;
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 0.08em;
@@ -201,6 +206,34 @@ body {
.reveal-d4 { transition-delay: 320ms; }
.reveal-d5 { transition-delay: 400ms; }
/* Marquee */
@keyframes marquee-left {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}
@keyframes marquee-right {
0% { transform: translateX(-50%); }
100% { transform: translateX(0); }
}
.marquee-track {
display: flex;
width: max-content;
gap: 1.25rem;
animation: marquee-left 60s linear infinite;
will-change: transform;
}
.marquee-track-reverse {
animation-name: marquee-right;
animation-duration: 75s;
}
.marquee-viewport:hover .marquee-track {
animation-play-state: paused;
}
.marquee-mask {
-webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
/* Scrollbar styling */
::-webkit-scrollbar {
width: 6px;