body {
    font-family: 'Noto Sans SC', sans-serif; /* 添加在这里 */
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s ease, color 0.3s ease;
}

    #dot {
        width: 15px;
        height: 15px;
        background-color: rgb(129, 129, 129);
        border-radius: 50%;
        pointer-events: none;
        transform: translate(-50%, -50%);
        z-index: 9999;
        transition: all 0.08s ease-out;
    }

.glass-effect {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

@media (max-width: 768px) {
    .glass-effect {
        padding: 12px;
    }
    .container {
        padding: 0 16px;
    }
    .dock {
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
        border-radius: 24px;
        padding: 12px;
        margin: 16px;
    }
    body {
        font-size: 14px;
    }
    h1 {
        font-size: 2rem !important;
    }
    h2 {
        font-size: 1.5rem !important;
    }
    h3 {
        font-size: 1.25rem !important;
    }
    .text-4xl {
        font-size: 2rem !important;
    }
    .text-3xl {
        font-size: 1.75rem !important;
    }
    .text-2xl {
        font-size: 1.5rem !important;
    }
    .text-xl {
        font-size: 1.25rem !important;
    }
    .text-lg {
        font-size: 1.125rem !important;
    }
    .p-16 {
        padding: 1rem !important;
    }
    .p-8 {
        padding: 1rem !important;
    }
    .p-6 {
        padding: 0.75rem !important;
    }
    .gap-8 {
        gap: 1rem !important;
    }
    .mb-12 {
        margin-bottom: 1.5rem !important;
    }
    .mb-8 {
        margin-bottom: 1rem !important;
    }
    .mb-6 {
        margin-bottom: 0.75rem !important;
    }
    .space-y-4 > * + * {
        margin-top: 0.5rem !important;
    }
}

.nav-link {
    position: relative;
    transition: all 0.3s ease;
}
.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: -4px;
    left: 50%;
    background-color: currentColor;
    transition: all 0.3s ease;
    transform: translateX(-50%);
    opacity: 0;
}
.nav-link:hover {
    transform: translateY(-2px);
    background-color: rgba(59, 130, 246, 0.1);
    padding: 8px 16px;
    border-radius: 8px;
}
.nav-link:hover::after {
    width: 100%;
    opacity: 1;
}
.nav-link.text-primary::after {
    width: 100%;
    opacity: 1;
}
.nav-link.text-primary {
    background-color: rgba(59, 130, 246, 0.1);
    padding: 8px 16px;
    border-radius: 8px;
}
.theme-switch {
    transition: background-color 0.3s ease;
}
.theme-switch:hover {
    background-color: rgba(59, 130, 246, 0.1);
}
.search-input {
    transition: all 0.3s ease;
}
.search-input:focus {
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
    transform: translateY(-1px);
}

:root {
    --bg-color: #ffffff;
    --text-color: #111827;
}
body {
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s ease, color 0.3s ease;
}
.dark {
    background-color: #1a1a1a;
    color: #ffffff;
}
.dark .bg-[#F5F0EB] {
    background-color: #18181B;
}
.dark .glass-effect {
    background: rgba(0, 0, 0, 0.8);
}
.dark .nav-link:not(.text-primary) {
    color: #e5e7eb;
}
.dark .search-input {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.2);
}
.dark .theme-switch:hover {
    background-color: rgba(255, 255, 255, 0.1);
}
.dark .theme-switch i {
    color: #e5e7eb;
}
.dark .bg-white {
    background-color: #2d2d2d;
}
.dark .text-gray-900 {
    color: #ffffff;
}
.dark .text-gray-800 {
    color: #e5e7eb;
}
.dark .text-gray-600 {
    color: #9ca3af;
}
.dark .bg-gray-900 {
    background-color: #4b5563;
}
.dark .border-gray-200 {
    border-color: #374151;
}
.dark .bg-primary\/10 {
    background-color: rgba(59, 130, 246, 0.2);
}
.dark .bg-secondary\/10 {
    background-color: rgba(99, 102, 241, 0.2);
}
.dark .bg-pink-50 {
    background-color: rgba(252, 231, 243, 0.1);
}
.dark .bg-purple-50 {
    background-color: rgba(245, 243, 255, 0.1);
}
.dark .bg-blue-50 {
    background-color: rgba(239, 246, 255, 0.1);
}
.dark .bg-green-50 {
    background-color: rgba(236, 253, 245, 0.1);
}
.dark .bg-yellow-50 {
    background-color: rgba(254, 252, 232, 0.1);
}
.dark .bg-indigo-50 {
    background-color: rgba(238, 242, 255, 0.1);
}
.dark .bg-red-50 {
    background-color: rgba(254, 242, 242, 0.1);
}
.dark .bg-orange-50 {
    background-color: rgba(255, 247, 237, 0.1);
}
.dark .shadow-sm {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
}

/* styles.css */
main {
    transition: opacity 0.3s ease;
}