242 lines
5.1 KiB
CSS
242 lines
5.1 KiB
CSS
@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: #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: "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
|
|
}
|
|
|
|
body {
|
|
background: var(--background);
|
|
color: var(--foreground);
|
|
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;
|
|
}
|
|
}
|