guardia-mall/frontend/tailwind.config.js

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: [],
}