웹 디자인 전면 개편
This commit is contained in:
237
app/globals.css
237
app/globals.css
@@ -1,26 +1,241 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
/* 디자인 시스템 컬러 팔레트 */
|
||||
:root {
|
||||
/* 메인 컬러 */
|
||||
--color-primary: #173658; /* 딥 네이비 */
|
||||
--color-secondary: #F3E7E3; /* 웜 베이지 */
|
||||
|
||||
/* 서피스 컬러 */
|
||||
--color-surface-dark: #1e426a; /* 약간 밝은 네이비 */
|
||||
--color-surface-darker: #122a45; /* 더 어두운 네이비 */
|
||||
|
||||
/* 액센트 컬러 */
|
||||
--color-accent-gold: #d4af37; /* 골드 포인트 */
|
||||
|
||||
/* 텍스트 컬러 */
|
||||
--color-text-main: #173658;
|
||||
--color-text-muted: #5d6d7e;
|
||||
|
||||
/* 배경 */
|
||||
--background: #ffffff;
|
||||
--foreground: #171717;
|
||||
--foreground: #173658;
|
||||
}
|
||||
|
||||
@theme inline {
|
||||
/* 커스텀 컬러 등록 */
|
||||
--color-primary: #173658;
|
||||
--color-secondary: #F3E7E3;
|
||||
--color-surface-dark: #1e426a;
|
||||
--color-surface-darker: #122a45;
|
||||
--color-accent-gold: #d4af37;
|
||||
--color-text-main: #173658;
|
||||
--color-text-muted: #5d6d7e;
|
||||
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
--font-sans: var(--font-geist-sans);
|
||||
--font-mono: var(--font-geist-mono);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--background: #0a0a0a;
|
||||
--foreground: #ededed;
|
||||
}
|
||||
--font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background: var(--background);
|
||||
color: var(--foreground);
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-family: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
|
||||
}
|
||||
|
||||
/* 글래스모피즘 네비게이션 */
|
||||
.glass-nav {
|
||||
background: rgba(23, 54, 88, 0.85);
|
||||
backdrop-filter: blur(12px);
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
/* 글래스 패널 (다크) */
|
||||
.glass-panel {
|
||||
background: rgba(23, 54, 88, 0.9);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
|
||||
}
|
||||
|
||||
/* 글래스 패널 (라이트) */
|
||||
.glass-panel-light {
|
||||
background: rgba(255, 255, 255, 0.85);
|
||||
backdrop-filter: blur(10px);
|
||||
-webkit-backdrop-filter: blur(10px);
|
||||
border: 1px solid rgba(23, 54, 88, 0.1);
|
||||
box-shadow: 0 4px 24px 0 rgba(23, 54, 88, 0.1);
|
||||
}
|
||||
|
||||
/* 카드 호버 효과 */
|
||||
.card-hover {
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.card-hover:hover {
|
||||
transform: translateY(-4px);
|
||||
box-shadow: 0 12px 40px 0 rgba(23, 54, 88, 0.2);
|
||||
}
|
||||
|
||||
/* 텍스트 글로우 효과 */
|
||||
.text-glow {
|
||||
text-shadow: 0 0 20px rgba(212, 175, 55, 0.5),
|
||||
0 0 40px rgba(212, 175, 55, 0.3);
|
||||
}
|
||||
|
||||
/* 패턴 오버레이 */
|
||||
.pattern-overlay {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.pattern-overlay::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-image:
|
||||
radial-gradient(circle at 20% 50%, rgba(212, 175, 55, 0.1) 0%, transparent 50%),
|
||||
radial-gradient(circle at 80% 80%, rgba(243, 231, 227, 0.1) 0%, transparent 50%);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* 우주 패턴 배경 */
|
||||
.cosmic-pattern {
|
||||
background-color: #173658;
|
||||
background-image:
|
||||
radial-gradient(circle at 10% 20%, rgba(212, 175, 55, 0.15) 0%, transparent 20%),
|
||||
radial-gradient(circle at 90% 80%, rgba(243, 231, 227, 0.1) 0%, transparent 25%),
|
||||
radial-gradient(circle at 50% 50%, rgba(30, 66, 106, 0.5) 0%, transparent 50%);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* 스크롤바 커스터마이징 */
|
||||
::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #F3E7E3;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #173658;
|
||||
border-radius: 5px;
|
||||
border: 2px solid #F3E7E3;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #1e426a;
|
||||
}
|
||||
|
||||
/* Firefox 스크롤바 */
|
||||
* {
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #173658 #F3E7E3;
|
||||
}
|
||||
|
||||
/* 그라데이션 텍스트 */
|
||||
.gradient-text {
|
||||
background: linear-gradient(135deg, #173658 0%, #1e426a 50%, #d4af37 100%);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
|
||||
/* 버튼 기본 스타일 */
|
||||
.btn-primary {
|
||||
background-color: #173658;
|
||||
color: white;
|
||||
padding: 0.75rem 1.5rem;
|
||||
border-radius: 0.5rem;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-primary:hover {
|
||||
background-color: #1e426a;
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 4px 12px rgba(23, 54, 88, 0.3);
|
||||
}
|
||||
|
||||
.btn-secondary {
|
||||
background-color: #F3E7E3;
|
||||
color: #173658;
|
||||
padding: 0.75rem 1.5rem;
|
||||
border-radius: 0.5rem;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
border: 2px solid #173658;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-secondary:hover {
|
||||
background-color: #173658;
|
||||
color: white;
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
/* 카드 기본 스타일 */
|
||||
.card {
|
||||
background: white;
|
||||
border-radius: 1rem;
|
||||
padding: 1.5rem;
|
||||
box-shadow: 0 4px 24px rgba(23, 54, 88, 0.1);
|
||||
}
|
||||
|
||||
/* 애니메이션 */
|
||||
@keyframes fadeInUp {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
.fade-in-up {
|
||||
animation: fadeInUp 0.6s ease-out;
|
||||
}
|
||||
|
||||
@keyframes float {
|
||||
0%, 100% {
|
||||
transform: translateY(0px);
|
||||
}
|
||||
50% {
|
||||
transform: translateY(-10px);
|
||||
}
|
||||
}
|
||||
|
||||
.float-animation {
|
||||
animation: float 3s ease-in-out infinite;
|
||||
}
|
||||
|
||||
/* 반응형 컨테이너 */
|
||||
.container-custom {
|
||||
max-width: 1280px;
|
||||
margin: 0 auto;
|
||||
padding: 0 1rem;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.container-custom {
|
||||
padding: 0 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.container-custom {
|
||||
padding: 0 3rem;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user