132 lines
4.0 KiB
JavaScript
132 lines
4.0 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
export default {
|
|
content: ['./index.html', './src/**/*.{ts,tsx}'],
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
// ── 관리자: NCloud 콘솔 다크 테마 (변경 금지) ──
|
|
ink: '#0b0f17',
|
|
panel: '#131927',
|
|
card: '#1a2234',
|
|
edge: '#26304a',
|
|
brand: '#00a0c8',
|
|
brand2: '#005a8c',
|
|
accent: '#3ddc97',
|
|
|
|
// ── 스토어프론트: 프리미엄 플로럴 무드 ──
|
|
// 블러시 핑크 (메인 포인트)
|
|
blush: {
|
|
50: '#fdf4f7',
|
|
100: '#fbe8ef',
|
|
200: '#f6cdda',
|
|
300: '#eea7be',
|
|
400: '#e07a9c',
|
|
500: '#d05a82',
|
|
600: '#b8436b',
|
|
700: '#993456',
|
|
800: '#7f2e49',
|
|
900: '#6b2a41',
|
|
},
|
|
// 세이지 그린 (보태니컬 포인트)
|
|
sage: {
|
|
50: '#f4f7f3',
|
|
100: '#e6ede2',
|
|
200: '#cdddc6',
|
|
300: '#a8c39e',
|
|
400: '#82a575',
|
|
500: '#648a56',
|
|
600: '#4e6e43',
|
|
700: '#405837',
|
|
800: '#36482f',
|
|
900: '#2e3d29',
|
|
},
|
|
// 더스티 로즈
|
|
dusty: {
|
|
100: '#f3e3e3',
|
|
200: '#e5c8c8',
|
|
300: '#d2a6a6',
|
|
400: '#bb8181',
|
|
500: '#a06868',
|
|
},
|
|
// 라벤더 (서브 악센트)
|
|
lavender: {
|
|
100: '#efeaf6',
|
|
200: '#ddd2ec',
|
|
300: '#c3b0dd',
|
|
400: '#a589c9',
|
|
500: '#8a6bb0',
|
|
},
|
|
// 크림 / 골드
|
|
cream: '#fdfaf5',
|
|
ivory: '#fbf6ee',
|
|
gold: '#c4a35a',
|
|
gold2: '#a8863f',
|
|
|
|
// ── 레거시 별칭(기존 클래스 호환) ──
|
|
bloom: '#d05a82',
|
|
bloom2: '#993456',
|
|
petal: '#fbe8ef',
|
|
leaf: '#4e6e43',
|
|
},
|
|
fontFamily: {
|
|
// 우아한 디스플레이/세리프 헤드라인
|
|
display: ['"Cormorant Garamond"', 'Georgia', 'serif'],
|
|
serif: ['"Playfair Display"', 'Georgia', 'serif'],
|
|
// 본문
|
|
sans: ['Inter', '-apple-system', 'BlinkMacSystemFont', 'Segoe UI', 'sans-serif'],
|
|
},
|
|
boxShadow: {
|
|
petal: '0 10px 40px -12px rgba(208,90,130,0.25)',
|
|
bloom: '0 20px 60px -18px rgba(153,52,86,0.30)',
|
|
soft: '0 8px 30px -10px rgba(110,80,90,0.18)',
|
|
},
|
|
borderRadius: {
|
|
'3xl': '1.75rem',
|
|
'4xl': '2.25rem',
|
|
},
|
|
keyframes: {
|
|
// 꽃잎 흩날림(낙하 + 좌우 드리프트 + 회전)
|
|
petalfall: {
|
|
'0%': { transform: 'translateY(-10vh) translateX(0) rotate(0deg)', opacity: '0' },
|
|
'10%': { opacity: '0.9' },
|
|
'90%': { opacity: '0.7' },
|
|
'100%': { transform: 'translateY(110vh) translateX(40px) rotate(360deg)', opacity: '0' },
|
|
},
|
|
// 잔잔한 sway (살아있는 느낌)
|
|
sway: {
|
|
'0%, 100%': { transform: 'translateY(0) rotate(-1.5deg)' },
|
|
'50%': { transform: 'translateY(-10px) rotate(1.5deg)' },
|
|
},
|
|
// 플로팅
|
|
floaty: {
|
|
'0%, 100%': { transform: 'translateY(0)' },
|
|
'50%': { transform: 'translateY(-14px)' },
|
|
},
|
|
// 하트 펄스
|
|
heartbeat: {
|
|
'0%, 100%': { transform: 'scale(1)' },
|
|
'30%': { transform: 'scale(1.3)' },
|
|
'60%': { transform: 'scale(0.95)' },
|
|
},
|
|
// 부드러운 등장
|
|
bloomin: {
|
|
'0%': { transform: 'scale(0.92) translateY(8px)', opacity: '0' },
|
|
'100%': { transform: 'scale(1) translateY(0)', opacity: '1' },
|
|
},
|
|
shimmer: {
|
|
'0%': { backgroundPosition: '-200% 0' },
|
|
'100%': { backgroundPosition: '200% 0' },
|
|
},
|
|
},
|
|
animation: {
|
|
sway: 'sway 6s ease-in-out infinite',
|
|
floaty: 'floaty 5s ease-in-out infinite',
|
|
heartbeat: 'heartbeat 0.6s ease-in-out',
|
|
bloomin: 'bloomin 0.6s cubic-bezier(0.22,1,0.36,1) both',
|
|
shimmer: 'shimmer 2.5s linear infinite',
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|