:root {
    --primary: #0D9488;
    --primary-light: #14B8A6;
    --primary-dark: #0F766E;
    --secondary: #F59E0B;
    --secondary-light: #FBBF24;
    --accent: #8B5CF6;
    --dark-bg: #0F172A;
    --dark-panel: #1E293B;
    --dark-card: #334155;
}

* {
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

.td-gradient-text {
    background: linear-gradient(135deg, #14B8A6, #FBBF24);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.td-gradient-bg {
    background: linear-gradient(135deg, #0D9488, #8B5CF6);
}

.td-gradient-gold {
    background: linear-gradient(135deg, #F59E0B, #EF4444);
}

.td-glass {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.td-card-hover {
    transition: all 0.3s ease;
}

.td-card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.td-float-badge {
    animation: td-float 3s ease-in-out infinite;
}

@keyframes td-float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-10px); }
}

.td-pulse-dot {
    animation: td-pulse 2s ease-in-out infinite;
}

@keyframes td-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.5); }
}

.td-hero-bg {
    background: radial-gradient(ellipse at 30% 50%, rgba(13, 148, 136, 0.15) 0%, transparent 60%),
                radial-gradient(ellipse at 70% 80%, rgba(139, 92, 246, 0.1) 0%, transparent 50%),
                linear-gradient(180deg, #0F172A 0%, #1E293B 100%);
}

.td-section-dark {
    background: radial-gradient(ellipse at 50% 0%, rgba(13, 148, 136, 0.08) 0%, transparent 60%),
                linear-gradient(180deg, #0F172A 0%, #1E293B 100%);
}

.td-grid-bg {
    background-image: 
        linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 40px 40px;
}

.td-ring-glow {
    box-shadow: 0 0 30px rgba(13, 148, 136, 0.3), 0 0 60px rgba(13, 148, 136, 0.1);
}

.td-step-line::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 100%;
    width: 80px;
    height: 2px;
    background: linear-gradient(90deg, #14B8A6, transparent);
}

.td-step-line:last-child::after {
    display: none;
}

.td-tab-active {
    background: linear-gradient(135deg, #0D9488, #14B8A6);
    color: white;
}

.td-cta-glow {
    position: relative;
    overflow: hidden;
}

.td-cta-glow::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(245, 158, 11, 0.1) 0%, transparent 60%);
    animation: td-rotate 8s linear infinite;
}

@keyframes td-rotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
