/* ── Coretrend Dark Theme ── */

:root {
    --bg-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
    
    /* Surface Colors (Dark) */
    --surface-50: #f8fafc;
    --surface-100: #f1f5f9;
    --surface-200: #e2e8f0;
    --surface-300: #cbd5e1;
    --surface-700: #334155;
    --surface-800: #1e293b;
    --surface-900: #0f172a;
    --surface-950: #020617;

    /* Glassmorphism */
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.08);
    --glass-blur: 16px;
    
    --glass-light-bg: rgba(255, 255, 255, 0.7);
    --glass-light-border: rgba(255, 255, 255, 0.3);

    /* Text & Borders */
    --border-subtle: rgba(255, 255, 255, 0.05);
    --scrollbar-track: #0f172a;
    --scrollbar-thumb: #334155;
    --scrollbar-thumb-hover: #475569;
}

/* ── Glassmorphism 유틸리티 ── */
.glass {
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--glass-border);
}
.glass-light {
    background: var(--glass-light-bg);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    border: 1px solid var(--glass-light-border);
}

/* ── 그라데이션 텍스트 ── */
.gradient-text {
    background: linear-gradient(135deg, #6366f1, #a78bfa, #818cf8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ── 배경 노이즈 텍스처 ── */
.noise::before {
    content: '';
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: var(--bg-noise);
    pointer-events: none;
    z-index: 0;
}

/* ── 스크롤 인디케이터 ── */
.scroll-indicator {
    animation: bounce 2s infinite;
}
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-10px); }
    60% { transform: translateY(-5px); }
}

/* ── 호버 카드 효과 ── */
.hover-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-lift:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

/* ── 스무스 스크롤바 ── */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--scrollbar-track); }
::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); }

/* 모바일 전용 플로팅 버튼 애니메이션 */
@keyframes pulse-subtle {
    0% { box-shadow: 0 0 0 0 rgba(254, 229, 0, 0.4); }
    70% { box-shadow: 0 0 0 15px rgba(254, 229, 0, 0); }
    100% { box-shadow: 0 0 0 0 rgba(254, 229, 0, 0); }
}
.animate-pulse-subtle {
    animation: pulse-subtle 2s infinite;
}
