/* 游戏代练平台 - 公共样式 */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* SEO优化：屏幕阅读器专用文本 */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

:root {
    /* 主色：紫色霓虹（保留兼容旧色名） */
    --primary-color: #7c4dff;
    --primary-color-strong: #5a2bff;
    --secondary-color: #b388ff;
    --success-color: #00d4a8;
    --danger-color: #ff3b6b;
    --warning-color: #ffb800;
    --dark-color: #0f0a1f;
    --light-color: #e6e9f2;
    --white-color: #ffffff;
    --text-color: #1f1936;

    /* 游戏霓虹强调色 */
    --neon-cyan: #00e5ff;
    --neon-pink: #ff4dd2;
    --neon-gold: #ffd54f;
    --neon-green: #5eff8b;

    /* 卡片 / 阴影 */
    --border-radius: 10px;
    --box-shadow: 0 6px 24px rgba(40, 28, 90, 0.08);
    --box-shadow-strong: 0 14px 40px rgba(40, 28, 90, 0.16);

    /* 暗色游戏面板 */
    --gp-bg-1: #110a26;
    --gp-bg-2: #1a1140;
    --gp-bg-3: #221553;
    --gp-grid: rgba(124, 77, 255, 0.18);
}

body {
    font-family: 'Noto Sans SC', 'Microsoft YaHei', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background:
        radial-gradient(1200px 600px at 80% -10%, rgba(124,77,255,0.18), transparent 70%),
        radial-gradient(900px 500px at -10% 110%, rgba(0,229,255,0.12), transparent 70%),
        linear-gradient(180deg, #f5f6fa 0%, #eef0f7 100%);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    color: var(--text-color);
    line-height: 1.65;
    padding: 20px;
}

@media (max-width: 768px) {
    body {
        /* 移动端去掉 body 的横向 padding，避免在 fixed navbar 与内容之间
           因 body padding 露出一道与 navbar 不齐平的白/灰边 */
        padding: 0;
    }
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

/* 导航栏 */
.navbar {
    background: var(--white-color);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
}

.navbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    position: relative;
}

.navbar .logo {
    font-size: 20px;
    font-weight: bold;
    color: var(--primary-color);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 汉堡菜单按钮 */
.menu-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    z-index: 1001;
}

.menu-toggle span {
    display: block;
    width: 25px;
    height: 3px;
    background: var(--primary-color);
    border-radius: 3px;
    transition: all 0.3s;
}

.menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(8px, 8px);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -7px);
}

.navbar .nav-links {
    display: flex;
    gap: 5px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.navbar .nav-links li {
    margin: 0;
}

.navbar .nav-links a {
    color: var(--text-color);
    text-decoration: none;
    padding: 10px 15px;
    border-radius: var(--border-radius);
    transition: all 0.3s;
    font-size: 14px;
    display: block;
    white-space: nowrap;
}

.navbar .nav-links a:hover {
    background: rgba(108, 92, 231, 0.1);
    color: var(--primary-color);
}

/* 表单容器 */
.form-container {
    background: var(--white-color);
    border-radius: var(--border-radius);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
    padding: 40px;
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
}

.form-container h1 {
    text-align: center;
    color: var(--primary-color);
    margin-bottom: 10px;
    font-size: 28px;
}

.form-container .subtitle {
    text-align: center;
    color: #636e72;
    margin-bottom: 30px;
    font-size: 14px;
}

/* 表单样式 */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: var(--text-color);
    font-weight: 500;
    font-size: 14px;
}

.form-group input:not([type="checkbox"]):not([type="radio"]),
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid var(--light-color);
    border-radius: var(--border-radius);
    font-size: 14px;
    transition: all 0.3s;
    font-family: inherit;
}

.form-group input:focus:not([type="checkbox"]):not([type="radio"]),
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(108, 92, 231, 0.1);
}

.form-group .error-message {
    color: var(--danger-color);
    font-size: 12px;
    margin-top: 5px;
    display: none;
}

.form-group.error input {
    border-color: var(--danger-color);
}

.form-group.error .error-message {
    display: block;
}

/* 按钮样式 */
.btn {
    display: inline-block;
    padding: 12px 30px;
    border: none;
    border-radius: var(--border-radius);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    text-decoration: none;
    text-align: center;
}

.btn-primary {
    background: var(--primary-color);
    color: var(--white-color);
}

.btn-primary:hover {
    background: #5f4dd4;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(108, 92, 231, 0.3);
}

.btn-secondary {
    background: var(--secondary-color);
    color: var(--white-color);
}

.btn-success {
    background: var(--success-color);
    color: var(--white-color);
}

.btn-danger {
    background: var(--danger-color);
    color: var(--white-color);
}

.btn-block {
    width: 100%;
    display: block;
}

.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* 消息红点提示 */
.badge-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff4757;
    margin-left: 4px;
    box-shadow: 0 0 0 4px rgba(255, 71, 87, 0.25);
}

.badge-dot-mention {
    background: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.28);
}

/* 提示消息 */
.alert {
    padding: 12px 15px;
    border-radius: var(--border-radius);
    margin-bottom: 20px;
    font-size: 14px;
}

.alert-success {
    background: #d5f4e6;
    color: #00b894;
    border: 1px solid #00b894;
}

.alert-error {
    background: #ffe5e5;
    color: #d63031;
    border: 1px solid #d63031;
}

.alert-warning {
    background: #fff4d9;
    color: #f39c12;
    border: 1px solid #f39c12;
}

.alert-info {
    background: #e3f2fd;
    color: #2980b9;
    border: 1px solid #2980b9;
}

/* 链接样式 */
.form-footer {
    text-align: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--light-color);
    font-size: 14px;
    color: #636e72;
}

.form-footer a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 600;
}

.form-footer a:hover {
    text-decoration: underline;
}

/* 用户类型选择 */
.user-type-selector {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.user-type-option {
    flex: 1;
    padding: 15px;
    border: 2px solid var(--light-color);
    border-radius: var(--border-radius);
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
}

.user-type-option:hover {
    border-color: var(--secondary-color);
}

.user-type-option.active {
    border-color: var(--primary-color);
    background: rgba(108, 92, 231, 0.1);
}

.user-type-option input[type="radio"] {
    display: none;
}

.user-type-option .icon {
    font-size: 30px;
    margin-bottom: 5px;
}

.user-type-option .label {
    font-weight: 600;
    font-size: 14px;
}

/* 加载动画 */
.loading {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: var(--white-color);
    animation: spin 1s ease-in-out infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* 响应式设计 */
@media (max-width: 768px) {
    body {
        padding: 0;
    }
    
    .form-container {
        padding: 25px 20px;
        margin: 20px auto;
        max-width: 100%;
        border-radius: 12px;
    }
    
    .form-container h1 {
        font-size: 24px;
    }
    
    .user-type-selector {
        flex-direction: column;
    }
    
    /* 导航栏移动端优化 */
    .navbar .container {
        padding: 12px 15px;
    }
    
    .navbar .logo {
        font-size: 18px;
    }
    
    .menu-toggle {
        display: flex;
    }
    
    .navbar .nav-links {
        position: fixed;
        top: 60px;
        left: 0;
        right: 0;
        background: var(--white-color) !important; /* 不透明背景，避免透出页脚被误当菜单 */
        display: grid;
        grid-template-columns: 1fr 1fr; /* 一行两个菜单，首屏显示更多 */
        padding: 12px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        gap: 8px;
        z-index: 9999; /* 高于页脚，确保菜单盖住整屏 */
        width: 100%;
    }
    
    .navbar .nav-links.active {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-height: calc(100vh - 56px); /* 占满屏幕剩余高度，确保所有菜单项可见或可滚动 */
        overflow-y: auto;
        -webkit-overflow-scrolling: touch; /* iOS平滑滚动 */
    }
    /* 菜单打开时全屏遮罩，避免背后的页脚/主内容被误点或露出被挡住的文字 */
    .navbar .nav-links.active::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.35);
        z-index: -1;
        pointer-events: none;
    }
    .navbar .nav-links.active li {
        display: block !important;
    }
    /* 页脚层级低于导航，且移动端保证全宽，避免被挡或裁切 */
    footer {
        position: relative;
        z-index: 1;
        width: 100%;
        box-sizing: border-box;
        padding: 25px 0 !important;
        margin-top: 40px !important;
    }
    footer .container {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    footer p {
        font-size: 13px !important;
    }
    footer a {
        font-size: 13px !important;
    }
    
    /* 主内容区通用移动端样式（各页可被自身内联样式覆盖） */
    .main-container {
        margin: 0 auto;
        padding: 15px;
        padding-top: 70px;
        padding-bottom: 30px;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    body > .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    .alert {
        padding: 12px 15px;
        font-size: 14px;
    }
    .btn {
        min-height: 44px;
        padding: 12px 20px;
    }
    
    .navbar .nav-links li {
        width: auto;
        border-bottom: none;
        border: 1px solid #eee;
        border-radius: 8px;
        background: #fafafa;
    }
    
    .navbar .nav-links li:last-child {
        border-bottom: 1px solid #eee;
    }
    
    .navbar .nav-links a {
        padding: 12px 10px;
        font-size: 14px;
        width: 100%;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        min-height: 44px;
        box-sizing: border-box;
    }
    
    .navbar .nav-links a:hover {
        background: rgba(108, 92, 231, 0.1);
    }
}

/* 超小屏幕优化 */
@media (max-width: 480px) {
    body {
        padding: 0;
    }
    
    .main-container {
        padding: 12px;
        padding-top: 60px;
        padding-bottom: 20px;
    }
    
    .form-container {
        padding: 20px 15px;
        margin: 10px;
        max-width: 100%;
    }
    
    .form-container h1 {
        font-size: 22px;
    }
    
    .btn {
        padding: 12px 24px;
        font-size: 14px;
        min-height: 44px; /* 触摸友好的最小高度 */
    }
    
    footer {
        padding: 20px 0 !important;
    }
    footer p,
    footer a {
        font-size: 12px !important;
    }
    
    .navbar .logo {
        font-size: 16px;
    }
    
    .navbar .container {
        padding: 10px 15px;
    }
    
    .navbar .nav-links {
        top: 50px;
        left: 0 !important;
        right: 0 !important;
        padding: 10px;
        z-index: 9999;
        width: 100% !important;
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }
    
    .navbar .nav-links.active {
        max-height: calc(100vh - 50px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .navbar .nav-links a {
        padding: 10px 8px;
        font-size: 13px;
        min-height: 44px; /* 触摸友好的最小高度 */
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }
}

/* 中等屏幕优化（平板） */
@media (min-width: 481px) and (max-width: 1024px) {
    .container {
        padding: 15px;
    }
    
    .form-container {
        max-width: 500px;
    }
}

/* 超大屏幕优化 */
@media (min-width: 1440px) {
    .container {
        max-width: 1400px;
    }
}

/* 通用响应式工具类 */
@media (max-width: 768px) {
    /* 隐藏桌面端元素 */
    .desktop-only {
        display: none !important;
    }
    
    /* 显示移动端元素 */
    .mobile-only {
        display: block !important;
    }
    
    /* 表格响应式：横向滚动，保留表头可读 */
    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    table th,
    table td {
        white-space: nowrap;
        padding: 10px 12px;
        font-size: 13px;
    }
    
    /* 图片响应式 */
    img {
        max-width: 100%;
        height: auto;
    }
    
    /* 按钮组响应式 */
    .btn-group {
        flex-direction: column;
        width: 100%;
    }
    
    .btn-group .btn {
        width: 100%;
        margin-bottom: 10px;
    }
    
    /* 表单响应式 */
    .form-group input:not([type="checkbox"]):not([type="radio"]),
    .form-group select,
    .form-group textarea {
        font-size: 16px; /* 防止iOS自动缩放 */
    }
    
    /* 主内容内标题与区块 */
    .main-container h1 {
        font-size: 1.35rem;
    }
    .main-container h2 {
        font-size: 1.2rem;
    }
    
    /* 弹层移动端：可滚动、留边距 */
    .modal-overlay {
        display: flex;
        align-items: flex-start;
        justify-content: center;
        padding: 15px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .modal-overlay .modal {
        margin: auto 0;
        max-width: 100%;
        max-height: 90vh;
        overflow-y: auto;
    }
}

@media (min-width: 769px) {
    .mobile-only {
        display: none !important;
    }
}

/* 触摸设备优化 */
@media (hover: none) and (pointer: coarse) {
    /* 增加触摸目标大小 */
    .btn,
    .navbar .nav-links a,
    button,
    a {
        min-height: 44px;
        min-width: 44px;
    }
    
    /* 移除hover效果，使用active */
    .btn:hover {
        transform: none;
    }
    
    .btn:active {
        transform: scale(0.98);
        opacity: 0.8;
    }
}

/* 横屏优化 */
@media (max-width: 768px) and (orientation: landscape) {
    .navbar .nav-links {
        max-height: 85vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch; /* iOS平滑滚动 */
    }
}

/* =========================================================
 * 游戏代练风（GX 组件）
 * 命名空间 .gx-* —— 不影响既有样式
 * ========================================================= */

/* 暗色英雄面板（首页/入口页主视觉） */
.gx-hero {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    color: #fff;
    background:
        radial-gradient(600px 300px at 12% 20%, rgba(124,77,255,0.55), transparent 65%),
        radial-gradient(600px 320px at 88% 80%, rgba(0,229,255,0.45), transparent 65%),
        linear-gradient(135deg, var(--gp-bg-2) 0%, var(--gp-bg-1) 60%, #07050f 100%);
    padding: 56px 32px;
    box-shadow: var(--box-shadow-strong), inset 0 0 0 1px rgba(124,77,255,0.25);
}
.gx-hero::before {
    /* 网格地板 */
    content: '';
    position: absolute; inset: 0;
    background-image:
        linear-gradient(var(--gp-grid) 1px, transparent 1px),
        linear-gradient(90deg, var(--gp-grid) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
    opacity: 0.55;
    pointer-events: none;
}
.gx-hero::after {
    /* 顶部霓虹光带 */
    content: '';
    position: absolute; left: 0; right: 0; top: 0; height: 3px;
    background: linear-gradient(90deg, transparent, var(--neon-cyan), var(--primary-color), var(--neon-pink), transparent);
    filter: blur(0.5px);
}
.gx-hero-inner { position: relative; z-index: 1; max-width: 1100px; margin: 0 auto; }
.gx-hero-tag {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 14px; border-radius: 999px;
    background: rgba(124,77,255,0.18);
    border: 1px solid rgba(124,77,255,0.4);
    color: #d8c8ff; font-size: 13px; letter-spacing: 1px;
    text-transform: uppercase;
}
.gx-hero h1, .gx-hero .gx-h1 {
    font-size: 40px; font-weight: 800; line-height: 1.2; margin: 18px 0 10px;
    background: linear-gradient(90deg, #fff, var(--neon-cyan) 50%, var(--neon-pink));
    -webkit-background-clip: text; background-clip: text; color: transparent;
    text-shadow: 0 0 24px rgba(124,77,255,0.3);
}
.gx-hero p, .gx-hero .gx-lead {
    color: #d3cdef; font-size: 17px; line-height: 1.8; max-width: 760px; margin: 0 auto;
}
.gx-hero .gx-cta { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 26px; }
.gx-hero.gx-hero-center { text-align: center; }

/* 主按钮（游戏霓虹） */
.gx-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 26px; border-radius: 10px; font-weight: 700; letter-spacing: 0.5px;
    text-decoration: none; cursor: pointer; border: none; min-height: 46px; font-size: 15px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, filter 0.2s ease;
}
.gx-btn-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--primary-color), var(--neon-cyan));
    box-shadow: 0 8px 28px rgba(124,77,255,0.35), inset 0 0 0 1px rgba(255,255,255,0.18);
}
.gx-btn-primary:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 12px 36px rgba(0,229,255,0.35); }
.gx-btn-ghost {
    color: #fff;
    background: transparent;
    border: 2px solid rgba(255,255,255,0.6);
}
.gx-btn-ghost:hover { background: rgba(255,255,255,0.1); border-color: var(--neon-cyan); color: var(--neon-cyan); }
.gx-btn-gold {
    color: #2b1e00;
    background: linear-gradient(135deg, #ffe082, var(--neon-gold));
    box-shadow: 0 6px 20px rgba(255,213,79,0.35);
}

/* 信任徽章 */
.gx-trust { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 20px; }
.gx-trust .gx-pill {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(255,255,255,0.08); color: #cfd8ff;
    padding: 8px 14px; border-radius: 999px; font-size: 13px;
    border: 1px solid rgba(255,255,255,0.14);
}
.gx-trust .gx-pill .gx-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--neon-green); box-shadow: 0 0 10px var(--neon-green); }

/* 数据指标条 */
.gx-stats {
    display: grid; gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin-top: 28px;
}
.gx-stat {
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(124,77,255,0.25);
    border-radius: 14px; padding: 18px 16px; text-align: center;
    backdrop-filter: blur(8px);
}
.gx-stat .gx-num {
    font-size: 28px; font-weight: 800; letter-spacing: 1px;
    background: linear-gradient(180deg, #fff, var(--neon-cyan));
    -webkit-background-clip: text; background-clip: text; color: transparent;
}
.gx-stat .gx-lbl { color: #b9b3da; font-size: 13px; margin-top: 6px; }

/* 区块标题（带霓虹下划线） */
.gx-section-title {
    display: inline-flex; align-items: center; gap: 12px;
    font-size: 22px; font-weight: 800; color: var(--text-color);
    margin: 0 0 18px; padding-bottom: 8px;
    position: relative;
}
.gx-section-title::after {
    content: ''; position: absolute; left: 0; bottom: 0; height: 3px; width: 56px;
    background: linear-gradient(90deg, var(--primary-color), var(--neon-cyan));
    border-radius: 3px;
}
.gx-section-title .gx-i {
    width: 34px; height: 34px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center;
    color: #fff; background: linear-gradient(135deg, var(--primary-color), var(--neon-cyan));
    box-shadow: 0 6px 16px rgba(124,77,255,0.35);
}

/* 游戏卡片（白底霓虹边） */
.gx-cards {
    display: grid; gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.gx-card {
    position: relative; overflow: hidden;
    background: #fff;
    border-radius: 14px; padding: 22px 20px;
    box-shadow: var(--box-shadow);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    border: 1px solid #ecebf5;
}
.gx-card::before {
    content: ''; position: absolute; left: 0; top: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--primary-color), var(--neon-cyan));
    transform: scaleX(0); transform-origin: left center; transition: transform 0.3s ease;
}
.gx-card:hover { transform: translateY(-4px); box-shadow: var(--box-shadow-strong); }
.gx-card:hover::before { transform: scaleX(1); }
.gx-card .gx-card-icon {
    width: 48px; height: 48px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center;
    font-size: 24px; color: #fff;
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    margin-bottom: 14px;
    box-shadow: 0 8px 18px rgba(124,77,255,0.25);
}
.gx-card h3 { font-size: 17px; color: var(--text-color); margin: 0 0 8px; font-weight: 700; }
.gx-card p { color: #6c6892; font-size: 14px; line-height: 1.7; margin: 0 0 14px; min-height: 48px; }
.gx-card .gx-card-cta { color: var(--primary-color); text-decoration: none; font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; gap: 4px; }
.gx-card .gx-card-cta::after { content: '›'; transition: transform 0.2s ease; }
.gx-card:hover .gx-card-cta::after { transform: translateX(4px); }

/* 段位徽章（用于代练师/订单标签） */
.gx-tier {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700;
    color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.gx-tier.t-bronze   { background: linear-gradient(135deg,#a06231,#cd853f); }
.gx-tier.t-silver   { background: linear-gradient(135deg,#9ea7ad,#cbd5d8); color:#1f1936; }
.gx-tier.t-gold     { background: linear-gradient(135deg,#e8a700,#ffd54f); color:#3a2900; }
.gx-tier.t-platinum { background: linear-gradient(135deg,#26c6da,#80deea); color:#003036; }
.gx-tier.t-diamond  { background: linear-gradient(135deg,#7c4dff,#00e5ff); }
.gx-tier.t-master   { background: linear-gradient(135deg,#ff4dd2,#7c4dff); }

/* 玩法/服务网格（首页用） */
.gx-services {
    display: grid; gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.gx-service {
    background: linear-gradient(180deg, #fff 0%, #fafaff 100%);
    border-radius: 14px; padding: 18px 16px; text-align: center;
    border: 1px solid #ecebf5; transition: transform 0.2s ease;
}
.gx-service:hover { transform: translateY(-3px); border-color: rgba(124,77,255,0.35); }
.gx-service .gx-emoji { font-size: 32px; }
.gx-service .gx-name { font-weight: 800; margin: 8px 0 4px; color: var(--text-color); }
.gx-service .gx-desc { color: #807ba6; font-size: 13px; line-height: 1.6; }

/* 文章/规则区块（白底游戏感） */
.gx-panel {
    background: #fff; border-radius: 14px; padding: 26px 24px;
    box-shadow: var(--box-shadow); border: 1px solid #ecebf5; margin-bottom: 18px;
}
.gx-panel h2, .gx-panel .gx-h2 {
    color: var(--primary-color); font-size: 20px; font-weight: 800; margin: 0 0 12px;
    display: inline-flex; align-items: center; gap: 8px;
}

/* 表格-游戏感 */
.gx-table { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: 12px; overflow: hidden; }
.gx-table th { background: linear-gradient(135deg, var(--primary-color), var(--neon-cyan)); color: #fff; padding: 12px 14px; text-align: left; font-weight: 700; font-size: 14px; }
.gx-table td { padding: 12px 14px; border-bottom: 1px solid #f0eef8; font-size: 14px; color: var(--text-color); }
.gx-table tr:hover td { background: #faf8ff; }

/* 暗色 footer 增强（可选） */
.gx-footer {
    background: linear-gradient(180deg, #0f0a1f 0%, #07050f 100%);
    color: #a8a3c8; padding: 30px 24px; text-align: center;
    border-top: 1px solid rgba(124,77,255,0.25);
}
.gx-footer a { color: #cfc7f0; text-decoration: none; transition: color 0.2s ease; }
.gx-footer a:hover { color: var(--neon-cyan); }
.gx-footer .gx-footer-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); max-width: 1100px; margin: 0 auto 18px; text-align: left; }
.gx-footer h4 { color: #fff; font-size: 14px; margin: 0 0 10px; }
.gx-footer ul { list-style: none; padding: 0; margin: 0; }
.gx-footer li { font-size: 13px; line-height: 1.9; }
.gx-footer .gx-copy { font-size: 12px; opacity: 0.75; padding-top: 14px; border-top: 1px dashed rgba(255,255,255,0.1); margin-top: 14px; }

/* 移动端适配 */
@media (max-width: 768px) {
    .gx-hero { padding: 40px 18px; border-radius: 14px; }
    .gx-hero h1, .gx-hero .gx-h1 { font-size: 28px; }
    .gx-hero p, .gx-hero .gx-lead { font-size: 15px; }
    .gx-stats { grid-template-columns: repeat(2, 1fr); }
    .gx-section-title { font-size: 19px; }
    .gx-panel { padding: 20px 16px; }
}
@media (max-width: 480px) {
    .gx-hero h1, .gx-hero .gx-h1 { font-size: 24px; }
    .gx-stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .gx-stat .gx-num { font-size: 22px; }
}

/* =============================================================================
   GX Pro · 全站暗色代练平台主题（body.gx-theme）
   专业赛事/接单大厅风格：深底、琥珀主强调、青蓝辅色、细网格与玻璃顶栏
   不删除旧类，仅在本类激活时覆盖视觉；所有页面 <body class="gx-theme">
   ============================================================================= */

/* 兜底：全站默认深色主题，避免 fixed navbar 下方 /
   body padding 区域 / 移动端浏览器溢出回弹（overscroll）/
   viewport 周边露出 <html> 元素的默认白色背景。
   本项目所有页面 body 均带 .gx-theme，因此可放心给 html 设置深色。 */
html {
    background: #0f1219;
    /* iOS Safari overscroll 时也保持深色，避免顶部白条 */
    background-color: #0f1219;
    min-height: 100%;
}

body.gx-theme {
    /* 让 body 最少占满视口高度，避免短页面露出底层 */
    min-height: 100vh;
}

body.gx-theme {
    /* 可读性优先：略提亮底与面板，正文与辅助字对比度提高 */
    --gx-bg-deep: #0f1219;
    --gx-bg-mid: #151a24;
    --gx-surface: #1c2433;
    --gx-surface-2: #232d3f;
    --gx-border: rgba(255, 255, 255, 0.12);
    --gx-border-glow: rgba(245, 185, 66, 0.35);
    --gx-text: #e8ecf4;
    --gx-text-muted: #aab6c9;
    --gx-accent: #f4c430;
    --gx-accent-dim: #c4890f;
    --gx-cyan: #5eead4;
    --gx-danger: #fca5a5;
    --gx-success: #6ee7b7;
    font-family: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
    color: var(--gx-text);
    background-color: var(--gx-bg-deep) !important;
    background-image:
        radial-gradient(ellipse 100% 80% at 50% -30%, rgba(240, 180, 41, 0.1), transparent 55%),
        radial-gradient(ellipse 70% 50% at 100% 100%, rgba(45, 212, 191, 0.08), transparent 50%),
        linear-gradient(180deg, var(--gx-bg-deep) 0%, var(--gx-bg-mid) 50%, #12161f 100%),
        repeating-linear-gradient(0deg, transparent, transparent 47px, rgba(255, 255, 255, 0.03) 47px, rgba(255, 255, 255, 0.03) 48px),
        repeating-linear-gradient(90deg, transparent, transparent 47px, rgba(255, 255, 255, 0.03) 47px, rgba(255, 255, 255, 0.03) 48px) !important;
    background-attachment: fixed;
    padding-bottom: 32px;
}

body.gx-theme h1, body.gx-theme h2, body.gx-theme h3 {
    color: #f4f6fa;
    letter-spacing: 0.02em;
    font-weight: 700;
}

body.gx-theme a {
    color: var(--gx-cyan);
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

body.gx-theme a:hover {
    color: var(--gx-accent);
}

/* 顶栏：玻璃 + 底边琥珀线 */
body.gx-theme .navbar {
    background: rgba(22, 26, 36, 0.92) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(240, 180, 41, 0.22);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
}

body.gx-theme .navbar .logo {
    color: var(--gx-accent) !important;
    text-shadow: 0 0 24px rgba(240, 180, 41, 0.25);
}

body.gx-theme .navbar .nav-links a {
    color: var(--gx-text) !important;
    border-radius: 8px;
}

body.gx-theme .navbar .nav-links a:hover {
    background: rgba(240, 180, 41, 0.12) !important;
    color: var(--gx-accent) !important;
}

body.gx-theme .menu-toggle span {
    background: var(--gx-accent) !important;
}

@media (max-width: 1024px) {
    body.gx-theme .nav-links.active {
        background: rgba(26, 31, 44, 0.98) !important;
        border: 1px solid var(--gx-border);
        box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
    }
}

/* 桌面端：导航菜单换行后顶栏变高，主内容区须留出足够顶部间距（避免首页系统公告栏被遮挡） */
@media (min-width: 769px) {
    body.gx-theme .main-container {
        margin-top: 132px !important;
    }
}

/* 主内容区透明底 */
body.gx-theme .main-container {
    color: var(--gx-text);
}

/* 面包屑导航（全站 gx-theme 公开页） */
.gx-seo-breadcrumb {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.5;
    color: #8899b0;
}
.gx-seo-breadcrumb__trail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
}
.gx-seo-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
}
.gx-seo-breadcrumb__item a,
.gx-seo-breadcrumb__item span[aria-current="page"] {
    word-break: break-word;
}
.gx-seo-breadcrumb__sep {
    margin: 0 8px;
    color: #b2bec3;
    user-select: none;
    flex-shrink: 0;
}
.gx-seo-breadcrumb a {
    color: var(--primary-color, #6c5ce7);
    text-decoration: none;
}
.gx-seo-breadcrumb a:hover {
    text-decoration: underline;
}
.gx-seo-breadcrumb span[aria-current="page"] {
    color: #636e72;
    font-weight: 600;
}
body.gx-theme .gx-seo-breadcrumb {
    color: var(--gx-text-muted, #aab6c9);
}
body.gx-theme .gx-seo-breadcrumb__sep {
    color: rgba(255, 255, 255, 0.35);
}
body.gx-theme .gx-seo-breadcrumb a {
    color: var(--gx-cyan, #5eead4);
}
body.gx-theme .gx-seo-breadcrumb a:hover {
    color: var(--gx-accent, #f4c430);
}
body.gx-theme .gx-seo-breadcrumb span[aria-current="page"] {
    color: var(--gx-text, #e8ecf4);
    font-weight: 600;
}
body.gx-theme .page-header .gx-seo-breadcrumb,
body.gx-theme .ranking-header .gx-seo-breadcrumb,
body.gx-theme .form-container .gx-seo-breadcrumb,
body.gx-theme .post-form-card .gx-seo-breadcrumb,
body.gx-theme .order-form-card .gx-seo-breadcrumb,
body.gx-theme .post-detail-card .gx-seo-breadcrumb,
body.gx-theme .gx-team-rec-hero .gx-seo-breadcrumb {
    margin: 0 0 12px;
}

/* 通用卡片 / 容器 */
body.gx-theme .welcome-card,
body.gx-theme .feature-card,
body.gx-theme .form-container,
body.gx-theme .profile-card,
body.gx-theme .page-header,
body.gx-theme .report-form,
body.gx-theme .gx-report-history,
body.gx-theme .ranking-header,
body.gx-theme .post-form-card,
body.gx-theme .gx-team-rec-hero,
body.gx-theme .order-detail-card,
body.gx-theme .post-detail-card,
body.gx-theme .rules-section,
body.gx-theme .filter-section,
body.gx-theme .announcements-list .announcement-item,
body.gx-theme .donate-container,
body.gx-theme .lottery-card,
body.gx-theme .chat-section,
body.gx-theme .order-popular-search,
body.gx-theme .popular-search,
body.gx-theme .stats-info,
body.gx-theme .comment-section,
body.gx-theme .post-detail-card,
body.gx-theme .billing-card,
body.gx-theme .message-card,
body.gx-theme .messages-list {
    background: linear-gradient(165deg, var(--gx-surface) 0%, var(--gx-surface-2) 100%) !important;
    border: 1px solid var(--gx-border) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .page-header h1,
body.gx-theme .ranking-header h1,
body.gx-theme .welcome-card h1 {
    color: #fff !important;
}

body.gx-theme .page-header p,
body.gx-theme .ranking-header p,
body.gx-theme .subtitle,
body.gx-theme .post-meta,
body.gx-theme .order-meta {
    color: #b8c5d8 !important;
}

/* 接单大厅订单卡 */
body.gx-theme .order-card,
body.gx-theme .ranking-list,
body.gx-theme .ranking-item,
body.gx-theme .posts-list .post-item,
body.gx-theme .orders-grid .order-card {
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .order-card .order-game,
body.gx-theme .order-price {
    color: var(--gx-accent) !important;
}

body.gx-theme .ranking-list .ranking-item:hover,
body.gx-theme .order-card:hover {
    background: rgba(26, 34, 48, 0.95) !important;
    border-color: rgba(240, 180, 41, 0.2) !important;
}

/* 表单控件 */
body.gx-theme .form-group label,
body.gx-theme label {
    color: #c5d0e0 !important;
}

body.gx-theme input[type="text"],
body.gx-theme input[type="password"],
body.gx-theme input[type="email"],
body.gx-theme input[type="number"],
body.gx-theme input[type="url"],
body.gx-theme input[type="datetime-local"],
body.gx-theme select,
body.gx-theme textarea {
    background: #1a222f !important;
    border-color: #3d4a5f !important;
    color: #f2f5fa !important;
}

body.gx-theme input:focus,
body.gx-theme select:focus,
body.gx-theme textarea:focus {
    border-color: var(--gx-accent) !important;
    box-shadow: 0 0 0 2px rgba(240, 180, 41, 0.2) !important;
}

/* 按钮：琥珀主 CTA，辅按钮描边 */
body.gx-theme .btn-primary {
    background: linear-gradient(180deg, #f5c84a 0%, #d49816 100%) !important;
    color: #1a1408 !important;
    box-shadow: 0 4px 20px rgba(240, 180, 41, 0.35);
    border: 1px solid rgba(255, 220, 140, 0.4);
}

body.gx-theme .btn-primary:hover {
    background: linear-gradient(180deg, #ffd75c 0%, #e0a51e 100%) !important;
    color: #1a1408 !important;
    box-shadow: 0 6px 28px rgba(240, 180, 41, 0.45);
}

body.gx-theme .btn-secondary {
    background: rgba(45, 212, 191, 0.12) !important;
    color: var(--gx-cyan) !important;
    border: 1px solid rgba(45, 212, 191, 0.35) !important;
}

body.gx-theme .btn-secondary:hover {
    background: rgba(45, 212, 191, 0.2) !important;
    color: #5eead4 !important;
}

body.gx-theme .btn-success {
    background: linear-gradient(180deg, #34d399, #059669) !important;
    color: #fff !important;
}

body.gx-theme .btn-danger {
    background: linear-gradient(180deg, #f87171, #dc2626) !important;
    color: #fff !important;
}

body.gx-theme .btn-submit,
body.gx-theme .btn-action {
    border-radius: 10px;
}

/* 提示条 */
body.gx-theme .alert-success {
    background: rgba(52, 211, 153, 0.16) !important;
    color: #a7f3d0 !important;
    border: 1px solid rgba(52, 211, 153, 0.45);
}

body.gx-theme .alert-error {
    background: rgba(248, 113, 113, 0.16) !important;
    color: #fecaca !important;
    border: 1px solid rgba(248, 113, 113, 0.45);
}

body.gx-theme .alert {
    border-radius: 10px;
}

/* 状态徽章 */
body.gx-theme .status-badge,
body.gx-theme [class*="status-"] {
    border: 1px solid var(--gx-border);
}

body.gx-theme .status-pending {
    background: rgba(240, 180, 41, 0.15) !important;
    color: var(--gx-accent) !important;
}

/* 表格（后台等） */
body.gx-theme table,
body.gx-theme .data-table {
    background: var(--gx-surface) !important;
    color: var(--gx-text) !important;
}

body.gx-theme table th,
body.gx-theme .data-table th {
    background: linear-gradient(180deg, #1e2635, #161c28) !important;
    color: var(--gx-accent) !important;
    border-color: var(--gx-border) !important;
}

body.gx-theme table td,
body.gx-theme .data-table td {
    border-color: var(--gx-border) !important;
    color: var(--gx-text) !important;
}

body.gx-theme table tr:nth-child(even) td {
    background: rgba(0, 0, 0, 0.15);
}

/* 页脚 */
body.gx-theme footer[role="contentinfo"],
body.gx-theme footer {
    background: linear-gradient(180deg, #0c0f16 0%, #12161f 100%) !important;
    color: #b8c5d8 !important;
    border-top: 1px solid rgba(240, 180, 41, 0.15) !important;
}

body.gx-theme footer a {
    color: #d1dae8 !important;
}

body.gx-theme footer a:hover {
    color: var(--gx-accent) !important;
}

/* 空状态 */
body.gx-theme .empty-state,
body.gx-theme .empty-state-text {
    color: #b8c5d8 !important;
}

/* 首页访客条与区块 */
body.gx-theme .intro-login-bar {
    background: rgba(10, 12, 18, 0.92) !important;
    border-bottom: 1px solid rgba(240, 180, 41, 0.2);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
}

body.gx-theme .intro-login-bar .logo {
    color: var(--gx-accent) !important;
}

body.gx-theme .intro-login-bar .btn-login {
    background: linear-gradient(180deg, #f5c84a, #c4890f) !important;
    color: #1a1408 !important;
}

body.gx-theme .intro-login-bar .btn-register {
    background: rgba(45, 212, 191, 0.15) !important;
    color: var(--gx-cyan) !important;
    border: 1px solid rgba(45, 212, 191, 0.35);
}

body.gx-theme .intro-hero {
    background: linear-gradient(160deg, #121826 0%, #1a2234 50%, #0d1018 100%) !important;
    border: 1px solid var(--gx-border);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
    border-radius: 0 0 20px 20px;
}

body.gx-theme .intro-hero h1 {
    color: #fff !important;
}

body.gx-theme .intro-hero p {
    color: #c5d2e5 !important;
}

body.gx-theme .intro-section {
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .intro-section h2 {
    color: var(--gx-accent) !important;
}

body.gx-theme .intro-section p,
body.gx-theme .intro-section ul {
    color: #c5d2e5 !important;
}

/* 分页链接 */
body.gx-theme .pagination a,
body.gx-theme .pagination span {
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .pagination a:hover {
    border-color: var(--gx-accent) !important;
    color: var(--gx-accent) !important;
}

/* 标签 / 排行 Tab */
body.gx-theme .ranking-tab {
    background: var(--gx-surface) !important;
    border-color: #2a3344 !important;
    color: var(--gx-text) !important;
}

body.gx-theme .ranking-tab.active,
body.gx-theme .ranking-tab:hover {
    border-color: var(--gx-accent) !important;
    color: var(--gx-accent) !important;
    background: rgba(240, 180, 41, 0.1) !important;
}

/* 已有 gx-* 组件在暗色下的微调 */
body.gx-theme .gx-card,
body.gx-theme .gx-panel,
body.gx-theme .gx-service {
    background: var(--gx-surface) !important;
    border-color: var(--gx-border) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .gx-card h3,
body.gx-theme .gx-panel h2 {
    color: var(--gx-accent) !important;
}

body.gx-theme .gx-card p,
body.gx-theme .gx-service .gx-desc {
    color: #b8c5d8 !important;
}

body.gx-theme .gx-hero {
    background: linear-gradient(145deg, #151b28 0%, #0e1219 100%) !important;
    border: 1px solid var(--gx-border);
}

body.gx-theme .gx-stat {
    background: rgba(0, 0, 0, 0.25) !important;
    border: 1px solid var(--gx-border);
}

body.gx-theme .gx-stat .gx-num {
    color: var(--gx-accent) !important;
}

body.gx-theme .gx-footer {
    border-top-color: rgba(240, 180, 41, 0.2);
}

/* 模态框：遮罩半透明，内容区为暗色面板 */
body.gx-theme .modal-overlay {
    background: rgba(0, 0, 0, 0.65) !important;
    border: none !important;
}

body.gx-theme .modal-content,
body.gx-theme #introConfirmModal .modal-inner {
    background: rgba(14, 17, 24, 0.95) !important;
    color: var(--gx-text) !important;
    border: 1px solid var(--gx-border);
}

body.gx-theme #introConfirmModal {
    background: rgba(0, 0, 0, 0.65) !important;
}

/* 代码 /  monospace 区块 */
body.gx-theme pre,
body.gx-theme code {
    background: #1a222f !important;
    color: #7ee8d8;
    border: 1px solid var(--gx-border);
}

/* install 等大块白底 */
body.gx-theme .install-wrap,
body.gx-theme .install-container,
body.gx-theme [class*="install-"] {
    background: var(--gx-surface) !important;
    color: var(--gx-text) !important;
    border-color: var(--gx-border) !important;
}

/* 高亮框 */
body.gx-theme .highlight-box,
body.gx-theme .info-box {
    background: rgba(45, 212, 191, 0.06) !important;
    border: 1px solid rgba(45, 212, 191, 0.2) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .rules-table th {
    background: #1a2230 !important;
    color: var(--gx-accent) !important;
}

body.gx-theme .rules-table td {
    border-color: var(--gx-border) !important;
    color: var(--gx-text) !important;
}

/* 管理后台 Tab / 统计卡 / 举报条目 */
body.gx-theme .admin-tabs {
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px;
    padding: 8px;
    gap: 6px;
    flex-wrap: wrap;
}

body.gx-theme .admin-tab {
    color: #c5d2e5 !important;
    border-radius: 8px;
    padding: 10px 14px !important;
}

body.gx-theme .admin-tab:hover {
    color: var(--gx-accent) !important;
    background: rgba(240, 180, 41, 0.08) !important;
}

body.gx-theme .admin-tab.active {
    background: linear-gradient(180deg, rgba(240, 180, 41, 0.2), rgba(240, 180, 41, 0.08)) !important;
    color: var(--gx-accent) !important;
    border: 1px solid rgba(240, 180, 41, 0.35);
}

body.gx-theme .stat-card {
    border: 1px solid var(--gx-border) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

body.gx-theme .stat-card .number {
    color: #fff !important;
}

body.gx-theme .stat-card .label {
    color: rgba(255, 255, 255, 0.85) !important;
}

body.gx-theme .report-item,
body.gx-theme .message-item,
body.gx-theme .order-row,
body.gx-theme .billing-row {
    background: var(--gx-surface-2) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .tag-link {
    background: rgba(45, 212, 191, 0.1) !important;
    color: var(--gx-cyan) !important;
    border: 1px solid rgba(45, 212, 191, 0.25);
}

body.gx-theme .form-footer {
    color: #b8c5d8 !important;
}

body.gx-theme .form-footer a {
    color: var(--gx-accent) !important;
}

/* 对话气泡区域 */
body.gx-theme .message-item.own {
    background: rgba(240, 180, 41, 0.12) !important;
    border-color: rgba(240, 180, 41, 0.25) !important;
}

body.gx-theme .message-content {
    color: var(--gx-text) !important;
}

/* 区块标题通用 */
body.gx-theme .gx-section-title {
    color: #fff !important;
    border-bottom-color: rgba(240, 180, 41, 0.25) !important;
}

/* 登录页顶部小徽章 */
body.gx-theme .form-container span[style*="GAME BOOSTING"] {
    border: 1px solid rgba(240, 180, 41, 0.3) !important;
    background: rgba(240, 180, 41, 0.08) !important;
    color: var(--gx-accent) !important;
}

/* 覆盖各页内联常见灰字（暗底上原 #636e72 / #666 偏暗） */
body.gx-theme [style*="#636e72"],
body.gx-theme [style*="636e72"],
body.gx-theme [style*="#666"],
body.gx-theme [style*="color: #666"],
body.gx-theme [style*="color:#666"],
body.gx-theme [style*="#b2bec3"],
body.gx-theme [style*="#95a5a6"],
body.gx-theme [style*="#808080"] {
    color: #b4c0d4 !important;
}

/* 正文段落：在卡片内略提亮，避免与标题对比过弱 */
body.gx-theme .main-container p,
body.gx-theme .welcome-card p,
body.gx-theme .rules-section p,
body.gx-theme .rules-section li,
body.gx-theme .order-description,
body.gx-theme .post-content-preview,
body.gx-theme .post-content,
body.gx-theme .post-detail-card .post-content,
body.gx-theme .announcement-item .announcement-content,
body.gx-theme .comment-section p,
body.gx-theme .comment-list {
    color: #e8ecf4 !important;
}

/* 帖子详情正文：独立阅读区，提高与深色卡片的对比度 */
body.gx-theme .post-detail-card .post-content {
    background: rgba(12, 16, 24, 0.55) !important;
    padding: 18px 20px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    line-height: 1.85 !important;
}

body.gx-theme .post-detail-card .post-stats,
body.gx-theme .post-detail-card .post-footer {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

body.gx-theme .post-detail-card .post-stats {
    color: #b8c5d8 !important;
}

body.gx-theme .comment-section h3 {
    color: #fff !important;
}

body.gx-theme .comment-item .author {
    color: #e8ecf4 !important;
}

body.gx-theme .comment-item .content {
    color: #dce2ec !important;
}

body.gx-theme .comment-item .time {
    color: #9fb0c8 !important;
}

body.gx-theme .comment-item {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

/* ========== GX 全站补强：压过各页尾部 <style> 的白底、灰槽、订单模态与世界对话 ========== */

body.gx-theme .posts-list {
    background: linear-gradient(165deg, var(--gx-surface) 0%, var(--gx-surface-2) 100%) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .order-item {
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .empty-state {
    background: var(--gx-surface-2) !important;
    border: 1px solid var(--gx-border) !important;
}

/* 充值成功页等 */
body.gx-theme .success-container {
    background: linear-gradient(165deg, var(--gx-surface) 0%, var(--gx-surface-2) 100%) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45) !important;
}

body.gx-theme .success-title {
    color: var(--gx-accent) !important;
}

body.gx-theme .success-message {
    color: #b8c5d8 !important;
}

/* 世界对话 */
body.gx-theme .chat-container {
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
}

body.gx-theme .chat-messages {
    background: rgba(0, 0, 0, 0.22) !important;
    border-bottom-color: var(--gx-border) !important;
}

body.gx-theme .chat-username {
    color: var(--gx-accent) !important;
}

body.gx-theme .chat-content {
    background: var(--gx-surface-2) !important;
    color: var(--gx-text) !important;
    border: 1px solid var(--gx-border);
}

body.gx-theme .chat-meta {
    color: #8a9aaf !important;
}

body.gx-theme .empty-tip,
body.gx-theme .balance-info {
    color: #b8c5d8 !important;
}

body.gx-theme .chat-input {
    background: rgba(0, 0, 0, 0.28) !important;
    border-color: var(--gx-border) !important;
    color: var(--gx-text) !important;
}

body.gx-theme .chat-input:focus {
    border-color: var(--gx-accent) !important;
    box-shadow: 0 0 0 2px rgba(240, 180, 41, 0.2) !important;
}

body.gx-theme .chat-send-btn {
    background: linear-gradient(180deg, #f5c84a, #c4890f) !important;
    color: #1a1408 !important;
}

body.gx-theme .chat-send-btn:disabled {
    background: #3d4555 !important;
    color: #8896a8 !important;
}

/* 各页 .modal-overlay > .modal（订单修改/确认等，内联样式在子元素上时另见属性选择器） */
body.gx-theme .modal-overlay > .modal {
    background: linear-gradient(165deg, var(--gx-surface) 0%, #151b26 100%) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text) !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55) !important;
}

body.gx-theme .modal-overlay > .modal h2,
body.gx-theme .modal-overlay > .modal h3 {
    color: var(--gx-accent) !important;
}

body.gx-theme .modal-overlay > .modal .form-group label {
    color: #c5d0e0 !important;
}

body.gx-theme .modal-overlay > .modal .form-group input,
body.gx-theme .modal-overlay > .modal .form-group select,
body.gx-theme .modal-overlay > .modal .form-group textarea {
    background: rgba(0, 0, 0, 0.28) !important;
    border-color: var(--gx-border) !important;
    color: var(--gx-text) !important;
}

/* 订单状态条（各页尾部浅色） */
body.gx-theme .status-accepted,
body.gx-theme .status-in_progress,
body.gx-theme .status-completed {
    background: rgba(45, 212, 191, 0.14) !important;
    color: var(--gx-cyan) !important;
}

body.gx-theme .status-cancelled {
    background: rgba(248, 113, 113, 0.14) !important;
    color: #fecaca !important;
}

body.gx-theme .status-waiting,
body.gx-theme .status-waiting_customer_approval {
    background: rgba(240, 180, 41, 0.15) !important;
    color: var(--gx-accent) !important;
}

body.gx-theme .status-draft {
    background: rgba(148, 163, 184, 0.12) !important;
    color: #cbd5e1 !important;
}

/* 注册页截图卡片 */
body.gx-theme #screenshotTarget {
    background: var(--gx-surface) !important;
    border-color: rgba(240, 180, 41, 0.45) !important;
    color: var(--gx-text) !important;
}

/* 内联浅色背景（!important 压过非 !important 内联；排除二维码白底以利扫描） */
body.gx-theme [style*="background: white"]:not(#qrcode),
body.gx-theme [style*="background:white"]:not(#qrcode),
body.gx-theme [style*="background: #fff"]:not(#qrcode),
body.gx-theme [style*="background:#fff"]:not(#qrcode),
body.gx-theme [style*="background: #ffffff"]:not(#qrcode) {
    background: var(--gx-surface) !important;
    color: var(--gx-text) !important;
}

body.gx-theme [style*="#fff4d9"] {
    background: rgba(240, 180, 41, 0.12) !important;
    color: #e8d4a8 !important;
}

body.gx-theme [style*="#e3f2fd"] {
    background: rgba(56, 189, 248, 0.12) !important;
    color: #bae6fd !important;
}

body.gx-theme [style*="#f8f9fa"] {
    background: rgba(0, 0, 0, 0.2) !important;
    color: var(--gx-text) !important;
}

body.gx-theme [style*="#e8f5e9"] {
    background: rgba(45, 212, 191, 0.1) !important;
    color: #a7f3d0 !important;
}

/* =============================================================================
   GX Pro · 兜底覆盖：补齐所有页面级硬编码 background:white / #fff 的类
   不删/不改任何页面，仅在 .gx-theme 启用时把这些"白底卡片"统一改成深色玻璃。
   ============================================================================= */
body.gx-theme .order-item,
body.gx-theme .post-item,
body.gx-theme .order-card,
body.gx-theme .post-card,
body.gx-theme .posts-list,
body.gx-theme .orders-list,
body.gx-theme .reports-list,
body.gx-theme .records-list,
body.gx-theme .empty-state,
body.gx-theme .chat-container,
body.gx-theme .chat-messages,
body.gx-theme .chat-form,
body.gx-theme .intro-section,
body.gx-theme .donate-container,
body.gx-theme .return-container,
body.gx-theme .post-form-card,
body.gx-theme .order-form-card,
body.gx-theme .gx-team-rec-hero,
body.gx-theme .report-form-card,
body.gx-theme .install-card,
body.gx-theme .lottery-container,
body.gx-theme .billing-section,
body.gx-theme .stats-card {
    background: linear-gradient(165deg, var(--gx-surface, #1c2433) 0%, var(--gx-surface-2, #232d3f) 100%) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
    color: var(--gx-text, #e8ecf4) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

/* hover 高亮：列表项与卡片 */
body.gx-theme .order-item:hover,
body.gx-theme .post-item:hover,
body.gx-theme .order-card:hover {
    background: linear-gradient(165deg, var(--gx-surface-2, #232d3f) 0%, #2a3650 100%) !important;
    border-color: var(--gx-border-glow, rgba(245, 185, 66, 0.35)) !important;
}

/* 列表内的分割线在暗色下要变亮一点 */
body.gx-theme .post-item,
body.gx-theme .order-item,
body.gx-theme .reports-list .report-item,
body.gx-theme .records-list .record-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* 内联弹窗 modal（订单分享、状态修改等都用了 style="background: white"） */
body.gx-theme [style*="background: white"],
body.gx-theme [style*="background:white"],
body.gx-theme [style*="background: #fff"],
body.gx-theme [style*="background:#fff"],
body.gx-theme [style*="background-color: white"],
body.gx-theme [style*="background-color:#fff"] {
    background: linear-gradient(165deg, var(--gx-surface, #1c2433) 0%, var(--gx-surface-2, #232d3f) 100%) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}

/* 例外：支付二维码必须保留白底（扫码必需），用 .gx-keep-white 标记不被覆盖 */
body.gx-theme #qrcode,
body.gx-theme .gx-keep-white,
body.gx-theme .gx-keep-white * {
    background: #ffffff !important;
    color: #1f1936 !important;
    border-color: rgba(0,0,0,0.08) !important;
}

/* 输入/按钮/链接残留浅色背景 → 改深色玻璃 */
body.gx-theme .form-container,
body.gx-theme .post-form-card,
body.gx-theme .order-detail-card,
body.gx-theme .post-detail-card,
body.gx-theme .order-card,
body.gx-theme .post-card {
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

/* 浅黄提示框：高亮 → 暗色琥珀 */
body.gx-theme [style*="background: #fff4d9"],
body.gx-theme [style*="background:#fff4d9"],
body.gx-theme .status-pending,
body.gx-theme .status-waiting,
body.gx-theme .status-waiting_customer_approval,
body.gx-theme .status-draft {
    background: rgba(244, 196, 48, 0.12) !important;
    color: var(--gx-accent, #f4c430) !important;
    border: 1px solid rgba(244, 196, 48, 0.3) !important;
}

/* 浅蓝信息框 */
body.gx-theme [style*="background: #e3f2fd"],
body.gx-theme [style*="background:#e3f2fd"],
body.gx-theme [style*="background: #e1f5fe"] {
    background: rgba(94, 234, 212, 0.10) !important;
    color: var(--gx-cyan, #5eead4) !important;
    border: 1px solid rgba(94, 234, 212, 0.25) !important;
}

/* 浅红警告框 */
body.gx-theme [style*="background: #ffe5e5"],
body.gx-theme [style*="background:#ffe5e5"],
body.gx-theme [style*="background: #ffebee"] {
    background: rgba(252, 165, 165, 0.10) !important;
    color: var(--gx-danger, #fca5a5) !important;
    border: 1px solid rgba(252, 165, 165, 0.25) !important;
}

/* 浅绿成功框 */
body.gx-theme [style*="background: #e8f5e9"],
body.gx-theme [style*="background:#e8f5e9"],
body.gx-theme [style*="background: #d5f4e6"] {
    background: rgba(110, 231, 183, 0.10) !important;
    color: var(--gx-success, #6ee7b7) !important;
    border: 1px solid rgba(110, 231, 183, 0.25) !important;
}

/* 浅灰背景框（如发布介绍区） */
body.gx-theme [style*="background: #f8f9fa"],
body.gx-theme [style*="background:#f8f9fa"],
body.gx-theme [style*="background: #f0f0f0"],
body.gx-theme [style*="background:#f0f0f0"] {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* 各页内联深色文字 → 主题正文色 */
body.gx-theme [style*="color: #2d3436"],
body.gx-theme [style*="color:#2d3436"],
body.gx-theme [style*="color: #333"],
body.gx-theme [style*="color:#333"],
body.gx-theme [style*="color: #1f1936"],
body.gx-theme [style*="color:#1f1936"] {
    color: var(--gx-text, #e8ecf4) !important;
}

/* 输入/textarea 在暗色下统一外观（覆盖各页面级 input 选择器） */
body.gx-theme .form-group input[type="text"],
body.gx-theme .form-group input[type="password"],
body.gx-theme .form-group input[type="email"],
body.gx-theme .form-group input[type="number"],
body.gx-theme .form-group input[type="date"],
body.gx-theme .form-group input[type="datetime-local"],
body.gx-theme .form-group select,
body.gx-theme .form-group textarea,
body.gx-theme .filter-form input,
body.gx-theme .filter-form select {
    background: rgba(15, 18, 25, 0.7) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}

body.gx-theme .form-group input::placeholder,
body.gx-theme .filter-form input::placeholder,
body.gx-theme .form-group textarea::placeholder {
    color: var(--gx-text-muted, #aab6c9) !important;
    opacity: 0.7;
}

/* 登录/注册等表单内复选框行（避免被全宽 input 规则影响） */
body.gx-theme .gx-form-check-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

body.gx-theme .gx-form-check-row input[type="checkbox"],
body.gx-theme .gx-form-check-row input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    min-height: 0 !important;
    max-width: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0;
    accent-color: var(--primary-color, #6c5ce7);
}

body.gx-theme .gx-form-check-row label {
    display: inline !important;
    margin: 0 !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    cursor: pointer;
    user-select: none;
}

/* 登录页：记住我 / 保持登录（label 包裹 checkbox，移动端不换行错位） */
.gx-login-options {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 20px;
}
.gx-login-check {
    display: flex !important;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    color: inherit;
    cursor: pointer;
    user-select: none;
}
.gx-login-check-text {
    flex: 1;
    min-width: 0;
}
.gx-login-check input[type="checkbox"],
.gx-login-stay-row input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    max-width: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0;
    accent-color: var(--primary-color, #6c5ce7);
    cursor: pointer;
    box-sizing: border-box;
}
.gx-login-stay-row {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.gx-login-stay-select {
    width: 100%;
    min-height: 44px;
    padding: 10px 32px 10px 12px;
    border-radius: 8px;
    border: 1px solid var(--gx-border, rgba(255, 255, 255, 0.12));
    background: rgba(15, 18, 25, 0.7);
    color: inherit;
    cursor: pointer;
    appearance: auto;
    -webkit-appearance: menulist;
    box-sizing: border-box;
    font-size: 14px;
    font-family: inherit;
}
body.gx-theme .gx-login-stay-select {
    background: rgba(15, 18, 25, 0.7) !important;
    border-color: var(--gx-border, rgba(255, 255, 255, 0.12)) !important;
    color: var(--gx-text, #e8ecf4) !important;
}
.gx-login-stay-select.is-inactive {
    opacity: 0.65;
}
@media (min-width: 480px) {
    .gx-login-stay-row {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px 12px;
    }
    .gx-login-stay-row .gx-login-check {
        flex: 1 1 auto;
        min-width: 120px;
    }
    .gx-login-stay-select {
        flex: 0 1 160px;
        width: auto;
        max-width: 220px;
    }
}

/* 欢迎卡片：运营/管理员等快捷按钮（移动端整行等宽对齐） */
.gx-welcome-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
}
.gx-welcome-actions .btn {
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
}
@media (max-width: 768px) {
    .gx-welcome-actions {
        flex-direction: column;
        align-items: stretch;
    }
    .gx-welcome-actions .btn {
        width: 100% !important;
        min-height: 44px;
        padding: 12px 16px;
        font-size: 15px;
    }
}

/* 帖子分类徽章 / 服务类型徽章：浅蓝 → 主题青色 */
body.gx-theme .post-category,
body.gx-theme .order-service {
    background: rgba(94, 234, 212, 0.12) !important;
    color: var(--gx-cyan, #5eead4) !important;
    border: 1px solid rgba(94, 234, 212, 0.25) !important;
}

/* 顶部公告栏：原黄色渐变在暗色下看上去突兀，统一改成琥珀玻璃 */
body.gx-theme .announcement-bar {
    display: flex !important;
    background: linear-gradient(90deg, rgba(244, 196, 48, 0.18), rgba(252, 165, 165, 0.08)) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid rgba(244, 196, 48, 0.28) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28) !important;
    margin-bottom: 18px;
    border-radius: 10px;
    min-height: 42px;
    position: relative;
    z-index: 2;
}
body.gx-theme .announcement-label {
    color: var(--gx-accent, #f4c430) !important;
}
body.gx-theme .announcement-text {
    color: var(--gx-text, #e8ecf4) !important;
    min-width: 0;
    flex: 1;
}
body.gx-theme .announcement-link {
    color: var(--gx-cyan, #5eead4) !important;
}

/* 充值/账单卡内所有金额数字保留高亮 */
body.gx-theme .order-price,
body.gx-theme .record-amount,
body.gx-theme .balance-info {
    color: var(--gx-accent, #f4c430) !important;
}

/* "信息项" info-item / detail-item 在暗色下背景调一致 */
body.gx-theme .info-item,
body.gx-theme .detail-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border-left: 4px solid var(--gx-accent, #f4c430) !important;
    color: var(--gx-text, #e8ecf4) !important;
}

/* 订单列表：描述完整换行展示，避免固定高度裁切末行 */
.gx-order-desc-text {
    line-height: 1.75;
    word-break: break-word;
    white-space: pre-wrap;
}
.order-details .detail-item-desc {
    grid-column: 1 / -1;
}

/* 粉丝关注互动 */
.gx-follow-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    vertical-align: middle;
}
.gx-follow-inline { font-size: 12px; }
.gx-fan-count {
    font-size: 12px;
    color: #636e72;
    white-space: nowrap;
}
a.gx-fan-count {
    text-decoration: none;
    color: #636e72;
}
a.gx-fan-count:hover {
    color: var(--primary-color, #6c5ce7);
    text-decoration: underline;
}
.gx-follow-btn {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 4px;
    border: 1px solid #dfe6e9;
    background: #fff;
    color: #636e72;
    cursor: pointer;
    min-height: 28px;
    line-height: 1.4;
}
.gx-follow-btn:hover { border-color: var(--primary-color, #6c5ce7); color: var(--primary-color, #6c5ce7); }
.gx-follow-none { color: var(--primary-color, #6c5ce7); border-color: rgba(108, 92, 231, 0.35); }
.gx-follow-following, .gx-follow-mutual { background: rgba(108, 92, 231, 0.08); }
.gx-follow-followback { color: #e17055; border-color: rgba(225, 112, 85, 0.4); }
.gx-follow-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 0 0 20px;
}
.gx-follow-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 72px;
    padding: 12px 10px;
    border-radius: 12px;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    text-decoration: none !important;
    color: inherit;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.gx-follow-stat-item:hover {
    border-color: rgba(244, 196, 48, 0.45);
    background: linear-gradient(160deg, rgba(244, 196, 48, 0.14) 0%, rgba(255, 255, 255, 0.05) 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
    text-decoration: none !important;
}
.gx-follow-stat-item strong { font-size: 22px; color: var(--primary-color, #6c5ce7); line-height: 1.2; }
.gx-follow-stat-item span { font-size: 12px; color: #636e72; margin-top: 4px; font-weight: 600; }
body.gx-theme .gx-fan-count { color: var(--gx-text-muted, #aab6c9); }
body.gx-theme .gx-follow-btn {
    background: rgba(12, 16, 24, 0.55);
    border-color: var(--gx-border, rgba(255,255,255,0.12));
    color: var(--gx-text-muted, #aab6c9);
}
body.gx-theme .gx-follow-btn:hover { border-color: var(--gx-accent, #f4c430); color: var(--gx-accent, #f4c430); }
body.gx-theme .gx-follow-none { color: var(--gx-accent, #f4c430); border-color: rgba(244, 196, 48, 0.35); }
body.gx-theme .gx-follow-stat-item {
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
    border-color: rgba(255, 255, 255, 0.09);
    text-decoration: none !important;
    color: var(--gx-text, #e8ecf4);
}
body.gx-theme .gx-follow-stat-item:hover {
    background: linear-gradient(160deg, rgba(244, 196, 48, 0.14) 0%, rgba(255, 255, 255, 0.05) 100%);
    border-color: rgba(244, 196, 48, 0.45);
    color: var(--gx-text, #e8ecf4);
    text-decoration: none !important;
}
body.gx-theme .gx-follow-stat-item strong { color: var(--gx-accent, #f4c430); }
body.gx-theme .gx-follow-stat-item span { color: var(--gx-text-muted, #aab6c9); }

/* 个人中心：提示框 + 快捷入口链接 */
.gx-profile-tip,
.gx-profile-panel {
    border-radius: var(--border-radius, 10px);
    padding: 16px 18px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.7;
}
.gx-profile-tip p,
.gx-profile-panel p {
    margin: 4px 0;
}
.gx-profile-panel__title {
    margin: 0 0 4px !important;
    font-size: 14px;
}
.gx-profile-panel__title strong {
    font-weight: 700;
}
/* 快捷入口：图标卡片网格 */
.gx-profile-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 14px;
}
.gx-profile-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 8px;
    min-height: 86px;
    box-sizing: border-box;
    border-radius: 12px;
    text-decoration: none !important;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid rgba(255, 255, 255, 0.09);
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}
.gx-profile-tile:hover {
    border-color: rgba(244, 196, 48, 0.45);
    background: linear-gradient(160deg, rgba(244, 196, 48, 0.14) 0%, rgba(255, 255, 255, 0.05) 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
    text-decoration: none !important;
}
.gx-profile-tile__icon {
    font-size: 28px;
    line-height: 1;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.25));
}
.gx-profile-tile__text {
    font-size: 12px;
    font-weight: 600;
    color: var(--gx-text, #e8ecf4);
    text-align: center;
    line-height: 1.35;
    letter-spacing: 0.02em;
}
.gx-profile-tile:hover .gx-profile-tile__text {
    color: var(--gx-accent, #f4c430);
}
/* 底部轻量文字导航 */
.gx-profile-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2px 0;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.gx-profile-nav__item {
    padding: 6px 12px;
    font-size: 13px;
    color: var(--gx-text-muted, #aab6c9);
    text-decoration: none !important;
    border-radius: 6px;
    transition: color 0.15s ease, background 0.15s ease;
}
.gx-profile-nav__item:hover {
    color: var(--gx-accent, #f4c430) !important;
    background: rgba(244, 196, 48, 0.08);
    text-decoration: none !important;
}
.gx-profile-nav__sep {
    color: rgba(255, 255, 255, 0.18);
    font-size: 14px;
    line-height: 1;
    user-select: none;
    padding: 0 2px;
}
body.gx-theme .gx-profile-tip {
    background: rgba(244, 196, 48, 0.08) !important;
    border: 1px solid rgba(244, 196, 48, 0.22) !important;
    border-left: 4px solid var(--gx-accent, #f4c430) !important;
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .gx-profile-tip strong {
    color: var(--gx-accent, #f4c430);
}
body.gx-theme .gx-profile-panel {
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px solid var(--gx-border, rgba(255, 255, 255, 0.12)) !important;
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .gx-profile-panel__title strong {
    color: var(--gx-accent, #f4c430);
}
body.gx-theme .profile-card h2 {
    color: var(--gx-accent, #f4c430) !important;
    border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
body.gx-theme .profile-card .form-help {
    color: var(--gx-text-muted, #aab6c9) !important;
}
@media (max-width: 768px) {
    .gx-profile-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
    .gx-profile-tile {
        min-height: 80px;
        padding: 12px 6px;
    }
    .gx-profile-tile__icon { font-size: 24px; }
    .gx-profile-tile__text { font-size: 11px; }
    .gx-profile-nav__item {
        padding: 8px 10px;
        min-height: 36px;
        display: inline-flex;
        align-items: center;
    }
}
@media (max-width: 480px) {
    .gx-profile-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    .gx-profile-tile {
        min-height: 76px;
    }
}
@media (max-width: 768px) {
    .gx-follow-btn { min-height: 36px; padding: 6px 12px; font-size: 12px; }
}

/* admin 后台标签 / 帖子卡片头部 */
body.gx-theme .post-header,
body.gx-theme .order-header,
body.gx-theme .report-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
body.gx-theme .post-meta,
body.gx-theme .post-id,
body.gx-theme .order-no,
body.gx-theme .report-id,
body.gx-theme .report-meta {
    color: var(--gx-text-muted, #aab6c9) !important;
}

/* 分页组件 */
body.gx-theme .pagination-number,
body.gx-theme .pagination-btn {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}
body.gx-theme .pagination-number:hover,
body.gx-theme .pagination-btn:hover {
    background: rgba(244, 196, 48, 0.12) !important;
    color: var(--gx-accent, #f4c430) !important;
}
body.gx-theme .pagination-number.active {
    background: linear-gradient(135deg, var(--gx-accent, #f4c430), var(--gx-accent-dim, #c4890f)) !important;
    color: #1a1f2c !important;
    border-color: var(--gx-accent, #f4c430) !important;
}
body.gx-theme .pagination-info,
body.gx-theme .pagination-ellipsis {
    color: var(--gx-text-muted, #aab6c9) !important;
}

/* 移动端 nav-links 展开背景统一 */
@media (max-width: 1024px) {
    body.gx-theme .navbar .nav-links {
        background: rgba(15, 18, 25, 0.98) !important;
    }
    body.gx-theme .navbar .nav-links li {
        background: rgba(255, 255, 255, 0.04) !important;
        border: 1px solid var(--gx-border, rgba(255, 255, 255, 0.12)) !important;
    }
    body.gx-theme .navbar .nav-links a {
        color: var(--gx-text, #e8ecf4) !important;
    }
}

/* index 未登录入口栏 sticky */
body.gx-theme .intro-login-bar {
    background: rgba(15, 18, 25, 0.92) !important;
    border-bottom: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* 未登录首页 #introConfirmModal 弹层样式 */
body.gx-theme #introConfirmModal {
    background: rgba(0, 0, 0, 0.7) !important;
}
body.gx-theme #introConfirmModal .modal-inner {
    background: linear-gradient(165deg, var(--gx-surface, #1c2433) 0%, var(--gx-surface-2, #232d3f) 100%) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}
body.gx-theme #introConfirmModal .modal-inner h3,
body.gx-theme #introConfirmModal .modal-inner p {
    color: var(--gx-text, #e8ecf4) !important;
}

/* register 注册成功后展示账号密码截图区域：保留浅色（截图需要清晰） */
body.gx-theme #screenshotTarget {
    background: #ffffff !important;
    color: #1f1936 !important;
    border: 2px solid var(--gx-accent, #f4c430) !important;
}
body.gx-theme #screenshotTarget * {
    color: #1f1936 !important;
}
body.gx-theme #screenshotTarget .info-row {
    background: #f8f9fa !important;
}

/* world_chat 消息气泡：浅底改深色 */
body.gx-theme .chat-message,
body.gx-theme .chat-message .chat-content,
body.gx-theme .chat-content {
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.10)) !important;
}
body.gx-theme .chat-username {
    color: var(--gx-cyan, #5eead4) !important;
}
body.gx-theme .chat-meta,
body.gx-theme .chat-time {
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .chat-input,
body.gx-theme textarea.chat-input {
    background: rgba(15, 18, 25, 0.7) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}
body.gx-theme .chat-send-btn {
    background: linear-gradient(135deg, var(--gx-accent, #f4c430), var(--gx-accent-dim, #c4890f)) !important;
    color: #1a1f2c !important;
    border: none !important;
}

/* 消息中心列表容器 */
body.gx-theme .messages-list {
    background: linear-gradient(165deg, var(--gx-surface, #1c2433) 0%, var(--gx-surface-2, #232d3f) 100%) !important;
    border: 1px solid var(--gx-border, rgba(255, 255, 255, 0.12)) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .messages-list .message-item {
    border-bottom-color: var(--gx-border, rgba(255, 255, 255, 0.08)) !important;
    background: rgba(255, 255, 255, 0.03) !important;
}
body.gx-theme .messages-list .message-item:hover {
    background: rgba(244, 196, 48, 0.06) !important;
}
body.gx-theme .messages-list .message-title,
body.gx-theme .messages-list .message-main {
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .messages-list .message-time {
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .messages-list .message-meta {
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .messages-list .message-from {
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .messages-list .tab {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--gx-border, rgba(255, 255, 255, 0.12)) !important;
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .messages-list .tab.active,
body.gx-theme .page-header .tab.active {
    background: linear-gradient(135deg, var(--gx-accent, #f4c430), var(--gx-accent-dim, #c4890f)) !important;
    color: #1a1f2c !important;
    border-color: transparent !important;
}
body.gx-theme .page-header .tab {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--gx-border, rgba(255, 255, 255, 0.12)) !important;
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .messages-list .pagination-btn,
body.gx-theme .messages-list .pagination-number {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: var(--gx-border, rgba(255, 255, 255, 0.12)) !important;
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .messages-list .pagination-number.active,
body.gx-theme .messages-list .pagination-btn:hover:not(.disabled) {
    background: linear-gradient(135deg, var(--gx-accent, #f4c430), var(--gx-accent-dim, #c4890f)) !important;
    color: #1a1f2c !important;
    border-color: transparent !important;
}
body.gx-theme .messages-list .pagination-info,
body.gx-theme .messages-list .pagination-ellipsis {
    color: var(--gx-text-muted, #aab6c9) !important;
}

/* 消息中心 / 公告项气泡 */
body.gx-theme .message-item,
body.gx-theme .announcement-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.10)) !important;
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .message-item.unread,
body.gx-theme .announcement-item.unread {
    border-left: 3px solid var(--gx-accent, #f4c430) !important;
}

/* 评论列表 */
body.gx-theme .comment-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.08)) !important;
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .comment-item .author {
    color: var(--gx-cyan, #5eead4) !important;
}
body.gx-theme .comment-item .time {
    color: var(--gx-text-muted, #aab6c9) !important;
}

/* 安装/支付返回页 (.return-container) 等通用容器 */
body.gx-theme .return-container,
body.gx-theme .pay-result {
    background: linear-gradient(165deg, var(--gx-surface, #1c2433) 0%, var(--gx-surface-2, #232d3f) 100%) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}

/* 排行榜行 */
body.gx-theme .ranking-list,
body.gx-theme .ranking-item {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.08)) !important;
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .ranking-item:hover {
    background: rgba(244, 196, 48, 0.10) !important;
}
body.gx-theme .ranking-position,
body.gx-theme .ranking-username {
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .ranking-stat,
body.gx-theme .ranking-revenue {
    color: var(--gx-accent, #f4c430) !important;
}

/* 表格统一深色 */
body.gx-theme .records-list .record-item,
body.gx-theme .records-list .record-item.header,
body.gx-theme table.rules-table tr {
    background: rgba(255, 255, 255, 0.03) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border-color: var(--gx-border, rgba(255,255,255,0.08)) !important;
}
body.gx-theme .records-list .record-item:hover {
    background: rgba(244, 196, 48, 0.08) !important;
}

/* admin 标签页背景 */
body.gx-theme .stat-card {
    background: linear-gradient(135deg, var(--gx-surface, #1c2433), var(--gx-surface-2, #232d3f)) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
    color: var(--gx-text, #e8ecf4) !important;
}

/* 充值页面 amount-option / payment-method 选择卡 */
body.gx-theme .amount-option,
body.gx-theme .payment-method {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 2px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}
body.gx-theme .amount-option:hover,
body.gx-theme .payment-method:hover {
    border-color: var(--gx-accent, #f4c430) !important;
    background: rgba(244, 196, 48, 0.08) !important;
}
body.gx-theme .amount-option.active,
body.gx-theme .payment-method.active {
    background: linear-gradient(135deg, rgba(244, 196, 48, 0.18), rgba(196, 137, 15, 0.12)) !important;
    border-color: var(--gx-accent, #f4c430) !important;
    color: var(--gx-accent, #f4c430) !important;
}

/* 二维码区域文字也保留可读对比 */
body.gx-theme #qrcode-container {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}

/* 月度抽奖 .lottery-card / .prize-list 等 */
body.gx-theme .lottery-card,
body.gx-theme .prize-list,
body.gx-theme .prize-item,
body.gx-theme .lottery-history,
body.gx-theme .history-item {
    background: linear-gradient(165deg, var(--gx-surface, #1c2433) 0%, var(--gx-surface-2, #232d3f) 100%) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
    color: var(--gx-text, #e8ecf4) !important;
}

/* 用户类型选择卡 */
body.gx-theme .user-type-option {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 2px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .user-type-option:hover {
    border-color: var(--gx-accent, #f4c430) !important;
}
body.gx-theme .user-type-option.active {
    background: rgba(244, 196, 48, 0.12) !important;
    border-color: var(--gx-accent, #f4c430) !important;
}

/* 副标题灰字加亮 */
body.gx-theme .form-container .subtitle,
body.gx-theme .donate-subtitle,
body.gx-theme .page-header p,
body.gx-theme p.subtitle {
    color: var(--gx-text-muted, #aab6c9) !important;
}

/* 全部状态徽章统一暗色玻璃 */
body.gx-theme .status-accepted,
body.gx-theme .status-in_progress {
    background: rgba(94, 234, 212, 0.10) !important;
    color: var(--gx-cyan, #5eead4) !important;
    border: 1px solid rgba(94, 234, 212, 0.25) !important;
}
body.gx-theme .status-completed,
body.gx-theme .status-published,
body.gx-theme .status-resolved {
    background: rgba(110, 231, 183, 0.10) !important;
    color: var(--gx-success, #6ee7b7) !important;
    border: 1px solid rgba(110, 231, 183, 0.25) !important;
}
body.gx-theme .status-cancelled,
body.gx-theme .status-deleted,
body.gx-theme .status-rejected {
    background: rgba(252, 165, 165, 0.10) !important;
    color: var(--gx-danger, #fca5a5) !important;
    border: 1px solid rgba(252, 165, 165, 0.25) !important;
}
body.gx-theme .status-processing {
    background: rgba(94, 234, 212, 0.10) !important;
    color: var(--gx-cyan, #5eead4) !important;
    border: 1px solid rgba(94, 234, 212, 0.25) !important;
}

/* modal 弹窗：覆盖各页 .modal-overlay / .modal-content / .modal */
body.gx-theme .modal-overlay {
    background: rgba(0, 0, 0, 0.7) !important;
}
body.gx-theme .modal-content,
body.gx-theme .modal-overlay .modal,
body.gx-theme .modal-overlay .modal-content,
body.gx-theme .modal {
    background: linear-gradient(165deg, var(--gx-surface, #1c2433) 0%, var(--gx-surface-2, #232d3f) 100%) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5) !important;
}
body.gx-theme .modal-content h3,
body.gx-theme .modal-content h4,
body.gx-theme .modal-content label,
body.gx-theme .modal h3,
body.gx-theme .modal h4 {
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .modal-content select,
body.gx-theme .modal-content input,
body.gx-theme .modal-content textarea {
    background: rgba(15, 18, 25, 0.7) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}

/* world_chat 整体容器再保证一次（有些定义了 background: #fff 的子元素） */
body.gx-theme .chat-container,
body.gx-theme .chat-section {
    background: linear-gradient(165deg, var(--gx-surface, #1c2433) 0%, var(--gx-surface-2, #232d3f) 100%) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}
body.gx-theme .chat-messages {
    background: rgba(15, 18, 25, 0.4) !important;
    border-bottom: 1px solid var(--gx-border, rgba(255,255,255,0.10)) !important;
}

/* 帖子标题等使用 #2d3436 的链接 */
body.gx-theme .post-title,
body.gx-theme a.post-title {
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .post-title:hover,
body.gx-theme a.post-title:hover {
    color: var(--gx-accent, #f4c430) !important;
}

/* 一致化所有 records-list 表头/行 */
body.gx-theme .record-item,
body.gx-theme .record-item.header {
    background: rgba(255, 255, 255, 0.03) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border-bottom: 1px solid var(--gx-border, rgba(255, 255, 255, 0.08)) !important;
}

/* 浅色提示信息框 .alert / .info-box 进一步完善 */
body.gx-theme .info-box {
    background: rgba(94, 234, 212, 0.08) !important;
    color: var(--gx-cyan, #5eead4) !important;
    border-left: 4px solid var(--gx-cyan, #5eead4) !important;
}
body.gx-theme .alert-info {
    background: rgba(94, 234, 212, 0.08) !important;
    color: var(--gx-cyan, #5eead4) !important;
    border: 1px solid rgba(94, 234, 212, 0.25) !important;
}
body.gx-theme .alert-warning {
    background: rgba(244, 196, 48, 0.10) !important;
    color: var(--gx-accent, #f4c430) !important;
    border: 1px solid rgba(244, 196, 48, 0.25) !important;
}

/* 高亮框 highlight-box.warning / .info / .success */
body.gx-theme .highlight-box.warning {
    background: rgba(252, 165, 165, 0.08) !important;
    border-left-color: var(--gx-danger, #fca5a5) !important;
    color: var(--gx-danger, #fca5a5) !important;
}
body.gx-theme .highlight-box.info {
    background: rgba(94, 234, 212, 0.08) !important;
    border-left-color: var(--gx-cyan, #5eead4) !important;
    color: var(--gx-cyan, #5eead4) !important;
}
body.gx-theme .highlight-box.success {
    background: rgba(110, 231, 183, 0.08) !important;
    border-left-color: var(--gx-success, #6ee7b7) !important;
    color: var(--gx-success, #6ee7b7) !important;
}

/* 流程图 flow-step（rules.php） */
body.gx-theme .flow-diagram,
body.gx-theme .flow-step {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.10)) !important;
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .flow-step-number {
    background: linear-gradient(135deg, var(--gx-accent, #f4c430), var(--gx-accent-dim, #c4890f)) !important;
    color: #1a1f2c !important;
}
body.gx-theme .flow-arrow {
    color: var(--gx-text-muted, #aab6c9) !important;
}

/* 让所有"复制"按钮与小辅助按钮在暗色下可见 */
body.gx-theme .btn-secondary[style*="font-size: 11px"],
body.gx-theme .btn-secondary[style*="font-size:11px"] {
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--gx-text, #e8ecf4) !important;
    border: 1px solid var(--gx-border, rgba(255,255,255,0.12)) !important;
}

/* 弹窗里的"立即充值"等暗色主题下保持原黄色 */
body.gx-theme .gx-keep-accent {
    background: linear-gradient(135deg, var(--gx-accent, #f4c430), var(--gx-accent-dim, #c4890f)) !important;
    color: #1a1f2c !important;
}

/* 全站 PDF 导出按钮区 */
.pdf-export-actions,
body.gx-theme .pdf-export-actions,
body.gx-theme .export-actions {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.pdf-export-actions .export-hint,
body.gx-theme .pdf-export-actions .export-hint {
    font-size: 12px;
    color: #b8c5d8;
    flex: 1;
    min-width: 200px;
}

.btn-export-pdf,
body.gx-theme .btn-export-pdf {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 18px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    background: linear-gradient(180deg, #f5c84a, #c4890f);
    color: #1a1408;
    transition: transform 0.2s, filter 0.2s;
}

.btn-export-pdf:hover:not(:disabled) {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

.btn-export-pdf:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

/* 平台运营审核合规提示（世界对话 / 好友 / 发单发帖等页复用） */
.gx-operator-audit-notice a {
    text-decoration: underline;
}
body:not(.gx-theme) .gx-operator-audit-notice a {
    color: #b7791f;
}
body.gx-theme .gx-operator-audit-notice a {
    color: var(--gx-accent, #f4c430);
}

/* ========== GX 全站移动端体验补强（迭代追加，不删旧规则） ========== */
@media (max-width: 768px) {
    body.gx-theme > .form-container {
        margin: 16px auto !important;
        padding: 22px 16px !important;
        width: calc(100% - 28px) !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    body.gx-theme > .form-container .form-group input:not([type="checkbox"]):not([type="radio"]),
    body.gx-theme > .form-container .form-group textarea,
    body.gx-theme > .form-container .form-group select {
        width: 100% !important;
        box-sizing: border-box;
        min-height: 44px;
    }

    /* 复选框/单选框：保持原生尺寸，禁止被上面 input 全宽规则撑大 */
    body.gx-theme > .form-container .form-group input[type="checkbox"],
    body.gx-theme > .form-container .form-group input[type="radio"],
    body.gx-theme > .form-container .gx-form-check-row input[type="checkbox"],
    body.gx-theme > .form-container .gx-form-check-row input[type="radio"],
    body.gx-theme > .form-container .gx-login-check input[type="checkbox"],
    body.gx-theme > .form-container .gx-login-stay-row input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
        min-height: 20px !important;
        max-width: 20px !important;
        flex-shrink: 0;
        margin: 0 !important;
        padding: 0 !important;
        accent-color: var(--primary-color, #6c5ce7);
    }

    body.gx-theme > .form-container .gx-login-stay-select {
        width: 100% !important;
        box-sizing: border-box;
        min-height: 44px;
    }

    body.gx-theme > .form-container .btn,
    body.gx-theme > .form-container .btn-block {
        width: 100%;
        min-height: 44px;
    }

    body.gx-theme .main-container {
        padding-left: 14px !important;
        padding-right: 14px !important;
        padding-top: 70px !important;
        box-sizing: border-box;
    }

    body.gx-theme .page-header .btn,
    body.gx-theme .page-header a.btn,
    body.gx-theme .page-header form .btn {
        display: block;
        width: 100%;
        margin: 8px 0 0 !important;
        text-align: center;
        min-height: 44px;
        box-sizing: border-box;
    }

    body.gx-theme .navbar .container {
        flex-wrap: wrap;
        gap: 8px;
    }

    body.gx-theme .navbar .container > .btn,
    body.gx-theme .navbar .container > a.btn {
        min-height: 44px;
        text-align: center;
    }

    body.gx-theme .welcome-card form[style*="inline"],
    body.gx-theme .welcome-card form[style*="inline-block"] {
        display: block !important;
        width: 100%;
        margin: 8px 0 !important;
    }

    body.gx-theme .welcome-card form[style*="inline"] .btn,
    body.gx-theme .welcome-card form[style*="inline-block"] .btn,
    body.gx-theme .welcome-card form[style*="inline"] button,
    body.gx-theme .welcome-card form[style*="inline-block"] button {
        width: 100%;
        min-height: 44px;
        box-sizing: border-box;
    }

    body.gx-theme .welcome-card textarea,
    body.gx-theme .welcome-card input[type="text"],
    body.gx-theme .welcome-card input[type="number"],
    body.gx-theme .welcome-card input[type="email"],
    body.gx-theme .welcome-card select {
        width: 100% !important;
        box-sizing: border-box;
        min-height: 44px;
    }

    body.gx-theme .world-chat-page .page-header {
        padding: 16px !important;
    }

    body.gx-theme .world-chat-page .chat-form {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px;
    }

    body.gx-theme .world-chat-page .chat-input {
        width: 100% !important;
        min-height: 44px;
        box-sizing: border-box;
    }

    body.gx-theme .world-chat-page .chat-send-btn {
        width: 100%;
        min-height: 44px;
    }

    body.gx-theme .world-chat-page .chat-user-actions {
        flex-wrap: wrap;
        gap: 4px;
    }

    body.gx-theme .world-chat-page .chat-container {
        height: min(62vh, 520px);
    }

    body.gx-theme .world-chat-page .mention-tip {
        padding: 0 16px 12px;
        font-size: 12px;
        line-height: 1.5;
    }

    body.gx-theme .gx-share-box .gx-share-row {
        flex-direction: column;
        align-items: stretch;
    }

    body.gx-theme .gx-share-box .gx-share-row input,
    body.gx-theme .gx-share-box .gx-copy-btn {
        width: 100% !important;
        box-sizing: border-box;
        min-height: 44px;
    }

    body.gx-theme .order-actions form,
    body.gx-theme .order-actions .btn {
        display: block;
        width: 100%;
        margin-bottom: 8px;
        box-sizing: border-box;
    }

    body.gx-theme .order-actions form .btn {
        min-height: 44px;
    }
}

@media (max-width: 480px) {
    body.gx-theme .navbar .logo {
        font-size: 16px;
    }

    body.gx-theme .main-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.gx-theme .form-container h1 {
        font-size: 22px !important;
    }

    body.gx-theme .world-chat-page .chat-container {
        height: min(58vh, 460px);
    }
}

/* 加好友申请留言弹窗 */
.gx-friend-add-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100dvh;
    z-index: 10050;
    background: rgba(0, 0, 0, 0.55);
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
    overflow: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.gx-friend-add-modal {
    width: 100%;
    max-width: 440px;
    background: linear-gradient(165deg, #1c2433 0%, #232d3f 100%);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    padding: 22px 20px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.45);
    color: #e8ecf4;
    box-sizing: border-box;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.gx-friend-add-handle {
    display: none;
}
.gx-friend-add-modal h3 {
    margin: 0 0 10px;
    font-size: 18px;
    color: #fff;
}
.gx-friend-add-tip {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.6;
    color: #aab6c9;
}
.gx-friend-add-modal label {
    display: block;
    margin-bottom: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #c5d0e0;
}
.gx-friend-add-modal textarea {
    width: 100%;
    min-height: 88px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    background: rgba(15, 18, 25, 0.7);
    color: #e8ecf4;
    font-size: 14px;
    line-height: 1.5;
    resize: vertical;
    box-sizing: border-box;
}
.gx-friend-add-modal textarea:focus {
    outline: none;
    border-color: rgba(244, 196, 48, 0.5);
    box-shadow: 0 0 0 2px rgba(244, 196, 48, 0.15);
}
.gx-friend-add-count {
    text-align: right;
    font-size: 12px;
    color: #95a5a6;
    margin: 6px 0 14px;
}
.gx-friend-add-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}
.gx-friend-add-actions .btn {
    min-height: 44px;
    padding: 10px 18px;
}
.gx-request-note {
    margin-top: 8px;
    padding: 8px 10px;
    background: rgba(244, 196, 48, 0.1);
    border: 1px solid rgba(244, 196, 48, 0.22);
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.55;
    color: #e8ecf4;
    word-break: break-word;
}
@media (max-width: 768px) {
    html.gx-friend-modal-open,
    body.gx-friend-modal-open {
        overflow: hidden !important;
        height: 100%;
    }
    body.gx-friend-modal-open {
        position: fixed;
        width: 100%;
        left: 0;
        right: 0;
    }
    .gx-friend-add-modal-overlay {
        padding: 0;
        align-items: flex-end;
        justify-content: center;
        background: rgba(0, 0, 0, 0.62);
    }
    .gx-friend-add-modal {
        max-width: 100%;
        width: 100%;
        border-radius: 16px 16px 0 0;
        border-left: none;
        border-right: none;
        border-bottom: none;
        padding: 12px 16px calc(16px + env(safe-area-inset-bottom, 0px));
        max-height: min(88dvh, 88vh);
        box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.45);
    }
    .gx-friend-add-handle {
        display: block;
        width: 42px;
        height: 4px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.28);
        margin: 0 auto 14px;
    }
    .gx-friend-add-modal h3 {
        font-size: 17px;
        line-height: 1.45;
        padding-right: 4px;
    }
    .gx-friend-add-tip {
        font-size: 13px;
    }
    .gx-friend-add-modal textarea {
        min-height: 108px;
        font-size: 16px;
    }
    .gx-friend-add-actions {
        flex-direction: column-reverse;
        gap: 10px;
        margin-top: 4px;
    }
    .gx-friend-add-actions .btn {
        width: 100%;
        min-height: 48px;
        font-size: 15px;
    }
}
@media (max-width: 480px) {
    .gx-friend-add-modal {
        padding-left: 14px;
        padding-right: 14px;
    }
    .gx-friend-add-modal h3 {
        font-size: 16px;
    }
}

/* ===== SEO：关键词内链云 + 可见面包屑（.gx-seo-* 命名空间） ===== */
.gx-seo-kw-cloud {
    margin: 28px 0 0;
    padding: 22px 20px;
    background: #fff;
    border-radius: var(--border-radius, 12px);
    box-shadow: var(--box-shadow, 0 2px 12px rgba(0,0,0,0.06));
    border: 1px solid rgba(108, 92, 231, 0.12);
}
.gx-seo-kw-title {
    margin: 0 0 8px;
    font-size: 18px;
    color: var(--primary-color, #6c5ce7);
    font-weight: 700;
}
.gx-seo-kw-desc {
    margin: 0 0 14px;
    font-size: 13px;
    color: #636e72;
    line-height: 1.7;
}
.gx-seo-kw-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
}
.gx-seo-kw-links a {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(108, 92, 231, 0.08);
    color: var(--primary-color, #6c5ce7);
    font-size: 13px;
    text-decoration: none;
    border: 1px solid rgba(108, 92, 231, 0.15);
    transition: background 0.2s, color 0.2s;
    min-height: 32px;
    line-height: 20px;
}
.gx-seo-kw-links a:hover {
    background: var(--primary-color, #6c5ce7);
    color: #fff;
}
@media (max-width: 768px) {
    .gx-seo-kw-cloud { padding: 16px 14px; margin-top: 20px; }
    .gx-seo-kw-title { font-size: 16px; }
    .gx-seo-kw-desc { font-size: 12px; }
    .gx-seo-kw-links a { font-size: 12px; padding: 8px 12px; min-height: 36px; }
    .gx-seo-breadcrumb { font-size: 12px; }
    .gx-seo-breadcrumb__sep { margin: 0 6px; }
}

/* SEO：搜索引擎查找本站（出站外链，nofollow） */
.gx-seo-search-links {
    margin: 16px 0 0;
    padding: 18px 20px;
    background: #f8f9fc;
    border-radius: var(--border-radius, 12px);
    border: 1px dashed rgba(108, 92, 231, 0.2);
}
.gx-seo-search-title {
    margin: 0 0 6px;
    font-size: 15px;
    color: #2d3436;
    font-weight: 700;
}
.gx-seo-search-desc {
    margin: 0 0 12px;
    font-size: 12px;
    color: #636e72;
    line-height: 1.65;
}
.gx-seo-search-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
}
.gx-seo-search-nav a {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 13px;
    text-decoration: none;
    min-height: 36px;
    box-sizing: border-box;
    border: 1px solid #dfe6e9;
    background: #fff;
    color: #2d3436;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.gx-seo-search-nav a:hover {
    border-color: var(--primary-color, #6c5ce7);
    color: var(--primary-color, #6c5ce7);
}
.gx-seo-search-item--baidu:hover { border-color: #2932e1; color: #2932e1; }
.gx-seo-search-item--bing:hover { border-color: #008373; color: #008373; }
.gx-seo-search-item--google:hover { border-color: #4285f4; color: #4285f4; }
@media (max-width: 768px) {
    .gx-seo-search-links { padding: 14px; margin-top: 12px; }
    .gx-seo-search-title { font-size: 14px; }
    .gx-seo-search-nav a { width: 100%; justify-content: center; min-height: 44px; }
}
body.gx-theme .gx-seo-search-links {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.12);
}
body.gx-theme .gx-seo-search-title { color: var(--gx-text, #e8ecf4); }
body.gx-theme .gx-seo-search-desc { color: var(--gx-text-muted, #aab6c9); }
body.gx-theme .gx-seo-search-nav a {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--gx-text, #e8ecf4);
}

/* ===== 全站移动端布局增强（公开页 + 通用容器） ===== */
body.gx-theme .balance-info {
    background: rgba(94, 234, 212, 0.10) !important;
    border: 1px solid rgba(94, 234, 212, 0.25) !important;
    color: var(--gx-cyan, #5eead4) !important;
}
body.gx-theme .service-fee-notice {
    background: rgba(244, 196, 48, 0.12) !important;
    border: 1px solid rgba(244, 196, 48, 0.3) !important;
    color: var(--gx-accent, #f4c430) !important;
}
body.gx-theme .report-notice {
    background: rgba(110, 231, 183, 0.10) !important;
    border: 1px solid rgba(110, 231, 183, 0.25) !important;
    border-left: 4px solid var(--gx-success, #6ee7b7) !important;
    color: var(--gx-success, #6ee7b7) !important;
}
body.gx-theme .report-notice strong {
    color: var(--gx-success, #6ee7b7) !important;
}
body.gx-theme .gx-report-history h2 {
    color: var(--gx-accent, #f4c430) !important;
}
body.gx-theme .gx-report-history .gx-sub {
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .gx-report-filters a {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: var(--gx-border, rgba(255, 255, 255, 0.12)) !important;
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .gx-report-filters a.active {
    background: var(--gx-accent-dim, #c4890f) !important;
    border-color: var(--gx-accent, #f4c430) !important;
    color: #1a1408 !important;
}
body.gx-theme .gx-report-table th {
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--gx-text, #e8ecf4) !important;
}
body.gx-theme .gx-report-table td {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
    color: var(--gx-text-muted, #aab6c9) !important;
}
body.gx-theme .gx-report-desc {
    color: var(--gx-text, #e8ecf4) !important;
}
@media (max-width: 768px) {
    .gx-seo-kw-cloud { padding: 16px 14px; margin-top: 20px; }
    .gx-seo-kw-title { font-size: 16px; }
    .gx-seo-kw-desc { font-size: 12px; }
    .gx-seo-kw-links a { font-size: 12px; padding: 8px 12px; min-height: 36px; }
    .gx-seo-breadcrumb { font-size: 12px; }
}

/* ===== 全站移动端布局增强（公开页 + 通用容器） ===== */
@media (max-width: 768px) {
    .page-header {
        padding: 18px 16px !important;
        margin-bottom: 16px !important;
    }
    .page-header h1 {
        font-size: 1.35rem !important;
        line-height: 1.35;
        word-break: break-word;
    }
    .page-header p {
        font-size: 14px !important;
        line-height: 1.65;
    }
    .page-header .btn,
    .page-header a.btn,
    .page-header form .btn {
        display: block;
        width: 100%;
        margin: 8px 0 0 !important;
        text-align: center;
        box-sizing: border-box;
    }
    .gx-table-scroll,
    .main-container .data-table-wrap {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .main-container table.data-table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
    .main-container .form-group input,
    .main-container .form-group select,
    .main-container .form-group textarea,
    .main-container input[type="text"],
    .main-container input[type="number"],
    .main-container input[type="email"],
    .main-container input[type="password"],
    .main-container select,
    .main-container textarea {
        width: 100% !important;
        box-sizing: border-box;
        min-height: 44px;
    }
    .main-container .order-detail-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px;
    }
    .main-container .order-detail-header > div[style*="text-align: right"] {
        text-align: left !important;
        width: 100%;
    }
    .gx-mobile-stack {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
    .gx-mobile-stack .btn,
    .gx-mobile-stack a.btn {
        width: 100% !important;
        text-align: center;
        box-sizing: border-box;
    }
    .post-detail-card .post-header,
    .post-form-card,
    .order-form,
    .order-detail-card {
        padding: 16px !important;
    }
    .post-detail-card .post-title {
        font-size: 1.25rem !important;
        line-height: 1.4;
        word-break: break-word;
    }
    .main-container .ranking-header {
        padding: 18px 16px !important;
        margin-bottom: 16px !important;
    }
    .main-container .ranking-header h1 {
        font-size: 1.35rem !important;
        line-height: 1.35;
        word-break: break-word;
    }
    .main-container .order-detail-actions {
        flex-direction: column !important;
        gap: 10px !important;
    }
    .main-container .order-detail-actions .btn {
        width: 100% !important;
        text-align: center;
        box-sizing: border-box;
    }
    body.gx-theme > .form-container {
        margin-top: 70px !important;
        padding: 16px !important;
        width: calc(100% - 24px) !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
}

/* 玩法规则页 TOC 横向滚动（移动端） */
.gx-rules-toc-nav {
    position: sticky;
    top: 64px;
    z-index: 90;
    background: #fff;
}
.gx-rules-toc-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    font-size: 14px;
}
.gx-rules-toc-links a {
    color: var(--primary-color, #6c5ce7);
    text-decoration: none;
    padding: 4px 0;
}
.gx-rules-toc-links a:hover {
    text-decoration: underline;
}
@media (max-width: 768px) {
    .gx-rules-toc-nav {
        top: 56px;
        padding: 14px 16px !important;
        border-radius: var(--border-radius, 12px);
        box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    }
    .gx-rules-toc-links {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 8px;
        padding-bottom: 6px;
        scrollbar-width: thin;
    }
    .gx-rules-toc-links a {
        flex: 0 0 auto;
        white-space: nowrap;
        padding: 8px 14px;
        background: rgba(108, 92, 231, 0.08);
        border-radius: 999px;
        border: 1px solid rgba(108, 92, 231, 0.15);
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .main-container {
        padding: 12px !important;
        padding-top: 66px !important;
    }
    .page-header h1 {
        font-size: 1.2rem !important;
    }
}

