/* ============================================
   统一暗黑风格 - 适用于所有页面
   颜色方案：深黑背景 + 黄色/绿色渐变 + 立体效果
   ============================================ */

/* 统一颜色变量 */
:root {
    /* 背景色 */
    --dark-bg: #0a0a0a;
    --dark-card: #1a1a1a;
    --dark-darker: #000b1d;
    --dark-border: #2a2a2a;
    --dark-hover: #27272a;

    /* 主色调 - 黄色（主要） */
    --yellow: #FFD700;
    --yellow-dark: #FFA500;
    --yellow-bright: #FFED4E;
    --yellow-light: #FFF59D;

    /* 强调色 - 蓝色（特殊意义，原绿色已改为蓝色） */
    --blue: #00d4ff;
    --blue-dark: #00bcd4;
    --blue-bright: #33ddff;
    --blue-light: #66e6ff;
    --green: #00d4ff;
    /* 绿色变量改为蓝色，保持兼容性 */
    --green-dark: #00bcd4;
    --green-bright: #33ddff;
    --green-light: #66e6ff;

    /* 文字颜色 */
    --text-primary: #f5f5f5;
    --text-secondary: #a1a1aa;
    --text-muted: #71717a;
    --text-light: #e0e0e0;

    /* 旧蓝色系统（将被替换为绿色） */
    --old-blue: #00d4ff;
    --old-blue-dark: #00bcd4;

    /* 边框 */
    --border-color: #27272a;
    --border-light: #3f3f46;
}

/* ============================================
   全局样式重置和基础设置
   ============================================ */

body {
    background: var(--dark-bg) !important;
    color: var(--text-primary) !important;
}

/* 统一渐变按钮样式 - 立体效果 */
.btn,
.button,
[class*="btn-"],
button:not([type="submit"]):not(.mobile-menu-toggle) {
    background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-dark) 100%) !important;
    color: var(--dark-bg) !important;
    border: none !important;
    border-radius: 8px;
    padding: 12px 24px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    box-shadow:
        0 4px 0 rgba(0, 0, 0, 0.3),
        0 6px 12px rgba(255, 215, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transform: translateY(0);
    text-decoration: none !important;
    display: inline-block;
}

.btn:hover,
.button:hover,
[class*="btn-"]:hover {
    transform: translateY(-2px);
    box-shadow:
        0 6px 0 rgba(0, 0, 0, 0.3),
        0 8px 16px rgba(255, 215, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    background: linear-gradient(135deg, var(--yellow-bright) 0%, var(--yellow) 100%) !important;
}

.btn:active,
.button:active,
[class*="btn-"]:active {
    transform: translateY(1px);
    box-shadow:
        0 2px 0 rgba(0, 0, 0, 0.3),
        0 4px 8px rgba(255, 215, 0, 0.2);
}

/* 蓝色按钮（特殊意义，原绿色已改为蓝色） */
.btn-green,
.button-green,
[class*="btn-green"],
.btn-success,
.btn-blue {
    background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%) !important;
    box-shadow:
        0 4px 0 rgba(0, 0, 0, 0.3),
        0 6px 12px rgba(0, 212, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.btn-green:hover,
.button-green:hover,
[class*="btn-green"]:hover,
.btn-success:hover,
.btn-blue:hover {
    background: linear-gradient(135deg, var(--blue-bright) 0%, var(--blue) 100%) !important;
    box-shadow:
        0 6px 0 rgba(0, 0, 0, 0.3),
        0 8px 16px rgba(0, 212, 255, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

/* 次要按钮样式 */
.btn-secondary,
.btn-tertiary,
.btn-inverse {
    background: linear-gradient(135deg, var(--dark-card) 0%, var(--dark-hover) 100%) !important;
    color: var(--yellow) !important;
    border: 2px solid var(--yellow) !important;
    box-shadow:
        0 4px 0 rgba(255, 215, 0, 0.2),
        0 6px 12px rgba(0, 0, 0, 0.3);
}

.btn-secondary:hover,
.btn-tertiary:hover {
    background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-dark) 100%) !important;
    color: var(--dark-bg) !important;
    border-color: var(--yellow) !important;
    box-shadow:
        0 6px 0 rgba(255, 215, 0, 0.3),
        0 8px 16px rgba(255, 215, 0, 0.4);
}

/* 按钮光晕动画效果 */
.btn::before,
.button::before,
[class*="btn-"]::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.btn:hover::before,
.button:hover::before,
[class*="btn-"]:hover::before {
    width: 300px;
    height: 300px;
}

/* ============================================
   导航栏统一样式
   ============================================ */

.navbar,
.nav {
    background: var(--dark-card) !important;
    border-bottom: 3px solid var(--yellow) !important;
    box-shadow: 0 4px 0 rgba(255, 215, 0, 0.2), 0 8px 16px rgba(0, 0, 0, 0.5) !important;
}

.navbar .logo,
.nav .logo,
.logo-text,
.brand-name {
    color: var(--yellow) !important;
}

.navbar .nav-link,
.nav .link {
    color: var(--text-secondary) !important;
    transition: all 0.3s ease;
}

.navbar .nav-link:hover,
.nav .link:hover {
    color: var(--yellow) !important;
}

.navbar .nav-link.active,
.nav .link.active,
.nav .active .link {
    color: #10b981 !important;
    background: rgba(16, 185, 129, 0.1) !important;
    border-radius: 6px;
}

/* ============================================
   卡片和容器样式
   ============================================ */

.card,
[class*="-card"],
[class*="card-"] {
    background: var(--dark-card) !important;
    border: 2px solid var(--dark-border) !important;
    border-radius: 12px;
    padding: 20px;
    box-shadow:
        0 4px 6px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card:hover,
[class*="-card"]:hover {
    border-color: var(--yellow) !important;
    box-shadow:
        0 8px 16px rgba(255, 215, 0, 0.2),
        0 4px 8px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transform: translateY(-4px);
}

/* ============================================
   将所有蓝色替换为绿色
   ============================================ */

/* CSS变量替换蓝色为绿色 - 在root中已定义，这里覆盖具体使用 */
* {
    --primary-color: var(--green) !important;
    --primary-dark: var(--green-dark) !important;
    --old-blue: var(--green) !important;
    --old-blue-dark: var(--green-dark) !important;
}

/* 直接替换蓝色类名和属性 */
.primary-color,
[class*="primary"]:not([class*="green"]),
[class*="blue"]:not([class*="yellow"]) {
    color: var(--green) !important;
}

.bg-primary,
[class*="bg-blue"],
[class*="bg-primary"]:not([class*="yellow"]) {
    background-color: var(--green) !important;
    background: linear-gradient(135deg, var(--green) 0%, var(--green-dark) 100%) !important;
}

.border-primary,
[class*="border-blue"] {
    border-color: var(--green) !important;
}

/* 渐变背景中的蓝色替换 */
[style*="linear-gradient"][style*="#00d4ff"],
[style*="linear-gradient"][style*="#00bcd4"] {
    background: linear-gradient(135deg, var(--green) 0%, var(--green-dark) 100%) !important;
}

/* 图标和SVG填充 */
svg [fill="#00d4ff"],
svg [fill="#00bcd4"],
svg [stroke="#00d4ff"] {
    fill: var(--green) !important;
    stroke: var(--green) !important;
}

/* ============================================
   文字和标题样式
   ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--text-primary) !important;
}

h1 .highlight,
h2 .highlight,
.title-highlight {
    background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-dark) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* 特殊意义的文字用蓝色（原绿色已改为蓝色） */
.special,
.highlight-green,
[data-special="true"] {
    color: var(--blue) !important;
}

/* ============================================
   输入框和表单元素
   ============================================ */

input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
    background: var(--dark-card) !important;
    border: 2px solid var(--dark-border) !important;
    color: var(--text-primary) !important;
    border-radius: 8px;
    padding: 12px 16px;
    transition: all 0.3s ease;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--yellow) !important;
    box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.1);
    outline: none;
}

/* ============================================
   链接样式
   ============================================ */

a:not(.btn):not(.button):not([class*="btn-"]) {
    color: var(--yellow) !important;
    transition: all 0.3s ease;
}

a:hover:not(.btn):not(.button):not([class*="btn-"]) {
    color: var(--yellow-bright) !important;
}

/* ============================================
   动画增强
   ============================================ */

/* 淡入动画 */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 滑入动画 */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 缩放动画 */
@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* 脉冲动画 */
@keyframes pulse {

    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.4);
    }

    50% {
        box-shadow: 0 0 0 10px rgba(255, 215, 0, 0);
    }
}

/* 为没有动画的元素添加动画 */
.card,
[class*="-card"],
.section,
.feature-item {
    animation: fadeIn 0.6s ease-out;
}

/* 交错动画 */
.card:nth-child(1) {
    animation-delay: 0.1s;
}

.card:nth-child(2) {
    animation-delay: 0.2s;
}

.card:nth-child(3) {
    animation-delay: 0.3s;
}

.card:nth-child(4) {
    animation-delay: 0.4s;
}

.card:nth-child(5) {
    animation-delay: 0.5s;
}

/* ============================================
   滚动条样式
   ============================================ */

::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: var(--dark-bg);
}

::-webkit-scrollbar-thumb {
    background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-dark) 100%);
    border-radius: 6px;
    border: 2px solid var(--dark-bg);
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(135deg, var(--yellow-bright) 0%, var(--yellow) 100%);
}

/* ============================================
   响应式设计
   ============================================ */

@media (max-width: 768px) {

    .btn,
    .button,
    [class*="btn-"] {
        padding: 10px 20px;
        font-size: 14px;
    }
}

/* ============================================
   特定页面覆盖（保持兼容性）
   ============================================ */

/* Preview页面增强 */
.feature-showcase-item,
.business-card {
    animation: fadeIn 0.6s ease-out;
}

.feature-showcase-item:hover,
.business-card:hover {
    animation: none;
}

/* TomAI页面（tomcase.css） */
.nav-list .link {
    transition: all 0.3s ease !important;
}

.nav-list .link:hover {
    color: var(--yellow) !important;
    transform: translateX(5px);
}

/* 替换TomAI页面的蓝色渐变 */
.hero-title,
.feature-title {
    background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-dark) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

/* Guide页面 */
.hero-title,
.section-title {
    color: var(--text-primary) !important;
    animation: fadeIn 0.8s ease-out;
}

.hero-title .highlight {
    background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Plans页面 */
.plan-card,
.pricing-card,
.pricing-plan {
    animation: scaleIn 0.6s ease-out;
    background: var(--dark-card) !important;
    border: 2px solid var(--dark-border) !important;
}

.plan-card:hover,
.pricing-card:hover {
    border-color: var(--yellow) !important;
    transform: translateY(-8px) scale(1.02);
}

/* 价格标签特殊样式（蓝色） */
.price,
.pricing-price,
[class*="price"] {
    color: var(--blue) !important;
    font-weight: 700;
}

/* Showcase页面 */
.gallery-item,
.showcase-item,
.gallery-card {
    animation: fadeIn 0.6s ease-out;
    background: var(--dark-card) !important;
}

.gallery-item:hover,
.showcase-item:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 10px 30px rgba(255, 215, 0, 0.3);
}

/* TomAiTeaching页面 */
.hero-content,
.tutorial-section,
.tutorial-card {
    animation: slideIn 0.6s ease-out;
}

.btn-menu {
    background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-dark) 100%) !important;
    color: var(--dark-bg) !important;
    border: none !important;
    box-shadow:
        0 4px 0 rgba(0, 0, 0, 0.3),
        0 6px 12px rgba(255, 215, 0, 0.2);
    transition: all 0.3s ease !important;
}

.btn-menu:hover {
    transform: translateY(-2px);
    box-shadow:
        0 6px 0 rgba(0, 0, 0, 0.3),
        0 8px 16px rgba(255, 215, 0, 0.4);
}

.btn-menu-active {
    background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%) !important;
    box-shadow:
        0 4px 0 rgba(0, 0, 0, 0.3),
        0 6px 12px rgba(0, 212, 255, 0.2);
}

/* 特殊意义元素使用蓝色 */
.feature-icon[data-special],
.badge[data-special],
.tag[data-special] {
    background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%) !important;
    color: var(--dark-bg) !important;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.3);
}

/* 成功状态、完成状态用蓝色 */
.success,
.completed,
.done,
[class*="success"],
[class*="complete"] {
    color: var(--blue) !important;
}

.success::before,
.completed::before {
    content: '✓';
    color: var(--blue) !important;
    margin-right: 8px;
}

/* ============================================
   特殊效果增强
   ============================================ */

/* 悬停光晕效果 */
.card:hover::after,
[class*="-card"]:hover::after {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--yellow) 0%, var(--yellow-dark) 100%);
    opacity: 0.2;
    z-index: -1;
    filter: blur(10px);
}

/* 加载动画 */
@keyframes shimmer {
    0% {
        background-position: -1000px 0;
    }

    100% {
        background-position: 1000px 0;
    }
}

.loading {
    background: linear-gradient(90deg,
            var(--dark-card) 0%,
            var(--dark-hover) 50%,
            var(--dark-card) 100%);
    background-size: 1000px 100%;
    animation: shimmer 2s infinite;
}