/* ===== 全局基础样式 ===== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body { 
    background: #0a0a0a; 
    color: #fff; 
    font-family: 'Segoe UI', sans-serif;
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #1a1a1a 100%);
    min-height: 100vh;
}

/* ===== 导航栏通用样式 ===== */
#main-header .navbar { 
    background: linear-gradient(135deg, #0a0a0a, #1a1a1a); 
    border-bottom: 1px solid #333; 
    padding: 0.5rem 1rem;
}

#main-header .navbar-brand { 
    color: #fff; 
    font-weight: 700;
    display: flex;
    align-items: center;
    text-decoration: none;
}

#main-header .nav-link { 
    color: #ccc; 
    position: relative; 
    padding: 0.5rem 1rem;
    text-decoration: none;
    transition: color 0.3s;
}

#main-header .nav-link:hover, 
#main-header .nav-link.active { 
    color: #00ffff; 
}

#main-header .nav-link::before { 
    content: ''; 
    position: absolute; 
    bottom: 0; 
    left: 50%; 
    width: 0; 
    height: 2px; 
    background: #00ffff; 
    transition: all 0.3s; 
    transform: translateX(-50%); 
}

#main-header .nav-link:hover::before, 
#main-header .nav-link.active::before { 
    width: 80%; 
}

#main-header .nav-link.loading {
    opacity: 0.6;
    cursor: wait;
    position: relative;
}

#main-header .nav-link.loading::before { 
    display: none; 
}

#main-header .nav-link.loading::after {
    content: '';
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid rgba(0, 255, 255, 0.3);
    border-top-color: #00ffff;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: translateY(-50%) rotate(360deg); }
}

/* ===== 页脚通用样式 ===== */
#main-footer { 
    background: linear-gradient(135deg, #0a0a0a, #1a1a1a); 
    border-top: 1px solid #333; 
    margin-top: 3rem;
    padding: 1.5rem 0;
}

#main-footer .container {
    text-align: center;
}

#main-footer p {
    margin-bottom: 0.5rem;
}

.contact-info p {
    font-size: 0.9rem;
    color: #aaa;
}