@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;700;900&family=Noto+Sans+SC:wght@300;400;500;700&display=swap');

:root {
    --bg-deep: #0a0e1a;
    --bg-primary: #0d1425;
    --bg-card: #121a2e;
    --bg-hover: #1a2440;
    --border-subtle: #1e2a4a;
    --border-accent: #2d3d5c;
    --text-primary: #f0f0f0;
    --text-secondary: #8899bb;
    --text-muted: #556688;
    --accent-gold: #c9a227;
    --accent-gold-glow: rgba(201, 162, 39, 0.25);
    --accent-red: #c0392b;
    --accent-blue: #4a7ab8;
    --accent-green: #27ae60;
}

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

html, body { min-height: 100vh; }
body {
    display: flex;
    flex-direction: column;
    font-family: 'Noto Sans SC', sans-serif;
    background:
        linear-gradient(180deg, rgba(10,14,26,0.85) 0%, rgba(10,14,26,0.95) 100%),
        url('../img/bg-hero.png') center top / cover no-repeat fixed,
        var(--bg-deep);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
}

a { text-decoration: none; color: inherit; }

/* ===== 导航 ===== */
.navbar {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    padding: 0 48px;
    height: 64px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgba(10, 14, 26, 0.85);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--border-subtle);
}

/* 让导航链接相对整个 navbar 居中，不受左右元素宽度影响 */
.navbar .nav-links {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.logo {
    font-family: 'Noto Serif SC', serif;
    font-size: 20px;
    font-weight: 900;
    color: var(--accent-gold);
    letter-spacing: 3px;
}

.nav-links {
    display: flex;
    gap: 36px;
    list-style: none;
}

.nav-links a {
    color: var(--text-secondary);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    transition: color 0.3s;
    position: relative;
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--accent-gold);
    transition: width 0.3s;
}

.nav-links a:hover,
.nav-links a.active {
    color: var(--text-primary);
}

.nav-links a:hover::after,
.nav-links a.active::after {
    width: 100%;
}

.nav-right {
    display: flex;
    align-items: center;
    gap: 20px;
}

.nav-admin-btn {
    display: inline-flex;
    align-items: center;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    color: var(--accent-gold);
    border: 1px solid var(--accent-gold);
    background: rgba(201, 162, 39, 0.06);
    border-radius: 2px;
    text-decoration: none;
    transition: background 0.25s, color 0.25s, box-shadow 0.25s, transform 0.25s;
}
.nav-admin-btn:hover {
    background: var(--accent-gold);
    color: var(--bg-deep);
    box-shadow: 0 4px 16px var(--accent-gold-glow);
    transform: translateY(-1px);
}

.nav-login {
    color: var(--text-secondary);
    font-size: 14px;
    transition: color 0.3s;
}

.nav-login:hover { color: var(--text-primary); }

.nav-download {
    padding: 8px 24px;
    background: var(--accent-red);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    letter-spacing: 1px;
    transition: all 0.3s;
}

.nav-download:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(192, 57, 43, 0.35);
}

/* ===== Hero ===== */
.hero {
    position: relative;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: flex-end;
    padding-bottom: 80px;
    padding-left: 48px;
    padding-right: 48px;
    background:
        linear-gradient(180deg, rgba(10,14,26,0.2) 0%, rgba(10,14,26,0.7) 50%, var(--bg-deep) 100%),
        linear-gradient(90deg, rgba(10,14,26,0.6) 0%, transparent 40%),
        url('../img/bg-hero.png') center/cover no-repeat;
    overflow: hidden;
}

.hero-bg-pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:
        radial-gradient(ellipse 80% 50% at 70% 40%, rgba(74, 122, 184, 0.12), transparent),
        radial-gradient(ellipse 60% 40% at 30% 60%, rgba(201, 162, 39, 0.06), transparent);
    pointer-events: none;
}

.hero-content {
    position: relative;
    z-index: 10;
    max-width: 600px;
}

.hero-badge {
    display: inline-block;
    padding: 6px 16px;
    background: var(--accent-red);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 20px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.85; }
}

.hero-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 64px;
    font-weight: 900;
    letter-spacing: 8px;
    margin-bottom: 8px;
}

.hero-en {
    font-size: 16px;
    letter-spacing: 12px;
    color: var(--accent-gold);
    margin-bottom: 20px;
    font-weight: 300;
}

.hero-desc {
    font-size: 15px;
    color: var(--text-secondary);
    line-height: 1.8;
    margin-bottom: 32px;
}

.hero-actions {
    display: flex;
    gap: 16px;
    align-items: center;
}

.btn-primary {
    padding: 14px 40px;
    background: linear-gradient(135deg, var(--accent-gold), #b8941d);
    color: var(--bg-deep);
    border: none;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px var(--accent-gold-glow);
}

.btn-secondary {
    padding: 13px 32px;
    background: transparent;
    color: var(--text-primary);
    border: 1px solid var(--border-accent);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all 0.3s;
}

.btn-secondary:hover {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}

.hero-meta {
    position: absolute;
    bottom: 80px;
    right: 48px;
    z-index: 10;
    text-align: right;
}

.hero-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    margin-bottom: 12px;
    color: var(--text-secondary);
    font-size: 13px;
}

.hero-meta-item span:first-child { color: var(--accent-gold); font-weight: 700; }

/* ===== 版本大门 ===== */
.version-gate-section { padding: 0 48px; margin-top: -60px; position: relative; z-index: 20; }

.version-gate {
    max-width: 1100px;
    margin: 0 auto;
    background: linear-gradient(135deg, var(--bg-card), var(--bg-hover));
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    position: relative;
    transition: all 0.4s;
}

.version-gate::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--accent-gold), transparent);
}

.version-gate:hover {
    border-color: var(--accent-gold);
    box-shadow: 0 0 60px rgba(212, 175, 55, 0.1);
}

.version-gate-img {
    width: 420px;
    min-height: 260px;
    background: linear-gradient(135deg, #1a2744, #0f1a30);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 14px;
    border-right: 1px solid var(--border-subtle);
    position: relative;
}

.version-gate-img::after {
    content: '⛩';
    font-size: 64px;
    opacity: 0.15;
    position: absolute;
}

.version-gate-content {
    flex: 1;
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.version-gate-label {
    font-size: 11px;
    letter-spacing: 3px;
    color: var(--accent-gold);
    margin-bottom: 8px;
    font-weight: 700;
}

.version-gate-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 12px;
    letter-spacing: 3px;
}

.version-gate-desc {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 20px;
}

.version-gate-btn {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: transparent;
    border: 1px solid var(--accent-gold);
    color: var(--accent-gold);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    transition: all 0.3s;
}

.version-gate-btn:hover {
    background: var(--accent-gold);
    color: var(--bg-deep);
}

/* ===== 新闻区 ===== */
.news-section { padding: 80px 48px; }

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    max-width: 1200px;
    margin: 0 auto 40px;
}

.section-title-group h2 {
    font-family: 'Noto Serif SC', serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 6px;
    margin-bottom: 6px;
}

.section-title-group p {
    font-size: 12px;
    letter-spacing: 4px;
    color: var(--text-muted);
}

.section-more {
    color: var(--accent-gold);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.3s;
}

.section-more:hover { gap: 12px; }

.news-layout {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 28px;
}

.news-featured {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s;
}

.news-featured:hover {
    border-color: var(--border-accent);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

.news-featured-img {
    width: 100%;
    height: 280px;
    background: linear-gradient(135deg, #1a2744, #152038);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 14px;
    position: relative;
    overflow: hidden;
}

.news-featured-tag {
    position: absolute;
    top: 16px;
    left: 16px;
    padding: 5px 12px;
    background: var(--accent-red);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
}

.news-featured-content { padding: 28px; }

.news-featured-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
    line-height: 1.5;
}

.news-featured-desc {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 16px;
}

.news-featured-date {
    font-size: 13px;
    color: var(--text-muted);
}

.news-list { display: flex; flex-direction: column; gap: 16px; }

.news-item {
    display: flex;
    gap: 16px;
    padding: 16px;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    transition: all 0.3s;
}

.news-item:hover {
    border-color: var(--border-accent);
    background: var(--bg-hover);
}

.news-item-img {
    width: 100px;
    height: 72px;
    background: linear-gradient(135deg, #1a2744, #152038);
    border-radius: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 11px;
}

.news-item-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-item-tag {
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 3px;
    margin-bottom: 8px;
    align-self: flex-start;
}

.news-item-tag.activity { background: rgba(201, 162, 39, 0.15); color: var(--accent-gold); }
.news-item-tag.patch { background: rgba(74, 122, 184, 0.15); color: var(--accent-blue); }
.news-item-tag.version { background: rgba(192, 57, 43, 0.15); color: #e74c3c; }
.news-item-tag.notice { background: rgba(136, 136, 136, 0.15); color: var(--text-muted); }

.news-item-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
    line-height: 1.5;
}

.news-item-date {
    font-size: 12px;
    color: var(--text-muted);
}

.news-more { text-align: center; margin-top: 48px; }

/* ===== 特色玩法 ===== */
.features-section {
    padding: 60px 48px 80px;
    background: var(--bg-primary);
    border-top: 1px solid var(--border-subtle);
}

.features-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.feature-card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    padding: 32px 24px;
    text-align: center;
    transition: all 0.3s;
}

.feature-card:hover {
    border-color: var(--accent-gold);
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0,0,0,0.3);
}

.feature-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    background: linear-gradient(135deg, rgba(201,162,39,0.1), rgba(74,122,184,0.1));
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.feature-title {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: 1px;
}

.feature-desc {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.6;
}

.feature-link {
    display: inline-block;
    margin-top: 16px;
    color: var(--accent-gold);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* ===== 下载区 ===== */
.download-section {
    padding: 80px 48px;
    position: relative;
}

.download-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--accent-gold), transparent);
}

.download-grid {
    max-width: 1000px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.download-card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    padding: 36px;
    text-align: center;
    transition: all 0.3s;
}

.download-card:hover { border-color: var(--accent-gold); }

.download-card.main {
    border-color: var(--accent-gold);
    background: linear-gradient(135deg, var(--bg-card), var(--bg-hover));
}

.dl-icon { font-size: 32px; margin-bottom: 16px; }

.dl-title { font-size: 16px; font-weight: 700; margin-bottom: 6px; letter-spacing: 1px; }

.dl-info { font-size: 12px; color: var(--text-muted); margin-bottom: 20px; }

.dl-btn {
    display: inline-block;
    padding: 10px 28px;
    border: 1px solid var(--border-accent);
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    transition: all 0.3s;
}

.dl-btn:hover {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}

.download-card.main .dl-btn {
    background: linear-gradient(135deg, var(--accent-gold), #b8941d);
    color: var(--bg-deep);
    border: none;
}

.download-card.main .dl-btn:hover {
    box-shadow: 0 4px 16px var(--accent-gold-glow);
}

/* ===== 底部 ===== */
main { flex: 1 0 auto; }                      /* 内容不足时撑满，把 footer 顶到底部 */
.footer {
    background: var(--bg-primary);
    padding: 14px 48px;
    flex-shrink: 0;
}

.footer-content {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start;
}

.footer-info {
    text-align: right;
}

.footer-info p {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 2;
}

.footer-brand h3 {
    font-family: 'Noto Serif SC', serif;
    font-size: 20px;
    color: var(--accent-gold);
    letter-spacing: 3px;
    margin-bottom: 12px;
}

.footer-brand p {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.8;
}

.footer-col h4 {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 16px;
    color: var(--text-primary);
}

.footer-col ul { list-style: none; }

.footer-col li { margin-bottom: 10px; }

.footer-col a {
    color: var(--text-muted);
    font-size: 13px;
    transition: color 0.3s;
}

.footer-col a:hover { color: var(--accent-gold); }

.footer-bottom {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    padding-top: 32px;
    border-top: 1px solid var(--border-subtle);
}

.footer-bottom p {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 2;
}

.footer-warn {
    margin-top: 20px;
    padding: 12px 24px;
    display: inline-block;
    font-size: 12px;
    color: var(--text-muted);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
}

/* ===== 页面公共样式 ===== */
.page-header {
    padding: 140px 48px 60px;
    text-align: center;
    background: linear-gradient(180deg, rgba(10,14,26,0.5) 0%, var(--bg-deep) 100%);
    border-bottom: 1px solid var(--border-subtle);
}

.page-header h1 {
    font-family: 'Noto Serif SC', serif;
    font-size: 42px;
    font-weight: 700;
    letter-spacing: 8px;
    margin-bottom: 12px;
}

.page-header p {
    font-size: 14px;
    color: var(--text-muted);
    letter-spacing: 3px;
}

.page-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 48px;
}

/* ===== 版本页面 ===== */
.version-timeline {
    position: relative;
    padding-left: 32px;
}

.version-timeline::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, var(--accent-gold), var(--border-subtle));
}

.version-node {
    position: relative;
    padding: 0 0 40px 32px;
}

.version-node::before {
    content: '';
    position: absolute;
    left: -32px;
    top: 6px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--accent-gold);
    border: 2px solid var(--bg-deep);
    box-shadow: 0 0 0 2px var(--accent-gold);
}

.version-node-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 6px;
    letter-spacing: 3px;
}

.version-node-meta {
    font-size: 12px;
    color: var(--accent-gold);
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.version-node-desc {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 12px;
}

.version-node-changelog {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    padding: 20px;
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 2;
    white-space: pre-line;
}

/* ===== 新闻列表页 ===== */
.news-filter {
    display: flex;
    gap: 12px;
    margin-bottom: 32px;
    flex-wrap: wrap;
}

.news-filter a {
    padding: 8px 20px;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 4px;
    font-size: 13px;
    color: var(--text-secondary);
    transition: all 0.3s;
}

.news-filter a:hover,
.news-filter a.active {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}

.news-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.news-grid-card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    overflow: hidden;
    transition: all 0.3s;
}

.news-grid-card:hover {
    border-color: var(--border-accent);
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
}

.news-grid-img {
    width: 100%;
    height: 180px;
    background: linear-gradient(135deg, #1a2744, #152038);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 13px;
    position: relative;
}

.news-grid-content { padding: 24px; }

.news-grid-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.5;
}

.news-grid-summary {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.7;
    margin-bottom: 16px;
}

/* ===== 新闻详情 ===== */
.news-detail {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 0;
}

.news-detail-header {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-subtle);
}

.news-detail-title {
    font-family: 'Noto Serif SC', serif;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 16px;
    line-height: 1.4;
}

.news-detail-meta {
    display: flex;
    gap: 20px;
    font-size: 13px;
    color: var(--text-muted);
}

.news-detail-body {
    font-size: 15px;
    color: var(--text-secondary);
    line-height: 2;
}

.news-detail-body p {
    margin-bottom: 16px;
}

/* ===== 下载页面 ===== */
.dl-requirements {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    padding: 32px;
    margin-bottom: 40px;
}

.dl-requirements h3 {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 2px;
}

.req-table {
    width: 100%;
    border-collapse: collapse;
}

.req-table th,
.req-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--border-subtle);
    font-size: 13px;
}

.req-table th {
    color: var(--text-muted);
    font-weight: 500;
}

.req-table td {
    color: var(--text-secondary);
}

/* ===== 后台管理 ===== */
.admin-layout {
    display: flex;
    min-height: 100vh;
}

.admin-sidebar {
    width: 220px;
    background: var(--bg-primary);
    border-right: 1px solid var(--border-subtle);
    padding: 24px 0;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    overflow-y: auto;
}

.admin-sidebar-logo {
    padding: 0 24px 24px;
    font-family: 'Noto Serif SC', serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--accent-gold);
    letter-spacing: 3px;
    border-bottom: 1px solid var(--border-subtle);
    margin-bottom: 16px;
}

.admin-sidebar nav ul { list-style: none; }

.admin-sidebar nav a {
    display: block;
    padding: 12px 24px;
    font-size: 13px;
    color: var(--text-secondary);
    transition: all 0.3s;
    border-left: 3px solid transparent;
}

.admin-sidebar nav a:hover,
.admin-sidebar nav a.active {
    background: var(--bg-hover);
    color: var(--text-primary);
    border-left-color: var(--accent-gold);
}

.admin-main {
    flex: 1;
    margin-left: 220px;
    padding: 32px 40px;
    min-height: 100vh;
}

.admin-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border-subtle);
}

.admin-header h1 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 2px;
}

.admin-card {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    padding: 28px;
    margin-bottom: 24px;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid var(--border-subtle);
    font-size: 13px;
}

.admin-table th {
    color: var(--text-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 11px;
}

.admin-table td { color: var(--text-secondary); }

.admin-table tr:hover td { color: var(--text-primary); }

.admin-btn {
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    border: none;
    border-radius: 4px;
    transition: all 0.3s;
}

.admin-btn.primary {
    background: var(--accent-gold);
    color: var(--bg-deep);
}

.admin-btn.danger {
    background: var(--accent-red);
    color: #fff;
}

.admin-btn.secondary {
    background: var(--bg-hover);
    color: var(--text-secondary);
    border: 1px solid var(--border-subtle);
}

.admin-btn:hover { opacity: 0.85; transform: translateY(-1px); }

.admin-form-group { margin-bottom: 20px; }

.admin-form-group label {
    display: block;
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 8px;
    letter-spacing: 1px;
}

.admin-form-group input,
.admin-form-group select,
.admin-form-group textarea {
    width: 100%;
    padding: 10px 14px;
    background: var(--bg-deep);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: 14px;
    font-family: inherit;
}

.admin-form-group input:focus,
.admin-form-group select:focus,
.admin-form-group textarea:focus {
    outline: none;
    border-color: var(--accent-gold);
}

.admin-form-group textarea { min-height: 200px; resize: vertical; }

.admin-login-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: var(--bg-deep);
}

.admin-login-box {
    width: 380px;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    padding: 48px 40px;
    text-align: center;
}

.admin-login-box h2 {
    font-family: 'Noto Serif SC', serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 4px;
    margin-bottom: 32px;
    color: var(--accent-gold);
}

.flash-message {
    padding: 12px 16px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 13px;
}

.flash-success {
    background: rgba(39, 174, 96, 0.1);
    border: 1px solid rgba(39, 174, 96, 0.2);
    color: var(--accent-green);
}

.flash-error {
    background: rgba(192, 57, 43, 0.1);
    border: 1px solid rgba(192, 57, 43, 0.2);
    color: var(--accent-red);
}

/* ===== 分页 ===== */
.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 40px;
    list-style: none;
}

.pagination a,
.pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    font-size: 13px;
    color: var(--text-secondary);
    transition: all 0.3s;
}

.pagination a:hover,
.pagination span.current {
    background: var(--accent-gold);
    color: var(--bg-deep);
    border-color: var(--accent-gold);
}

/* ===== 入场动画 ===== */
.fade-up {
    opacity: 0;
    transform: translateY(24px);
    transition: all 0.7s ease;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ===== Hero Compact ===== */
.hero-compact {
    height: auto;
    min-height: 0;
    padding-top: 80px;
    padding-bottom: 30px;
    justify-content: center;
    text-align: center;
}

.hero-compact .hero-content {
    max-width: 800px;
    margin: 0 auto;
}
.hero-compact .hero-actions {
    justify-content: center;
}

.hero-compact .hero-title { font-size: 56px; }
.hero-compact .hero-desc { display: none; }

/* ============== Hero 区 hover 炫酷动画 ============== */

/* 1. "神泣" 主标题：发光 + 字距扩大 + 渐变扫光 */
.hero-compact .hero-title {
    transition: letter-spacing .6s cubic-bezier(.2,.8,.2,1),
                text-shadow .6s,
                transform .6s;
    cursor: default;
    background: linear-gradient(90deg,
        #fff 0%, #fff 35%,
        var(--accent-gold) 50%,
        #fff 65%, #fff 100%);
    background-size: 200% 100%;
    background-position: 100% 0;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hero-compact .hero-title:hover {
    letter-spacing: 16px;
    text-shadow: 0 0 30px rgba(201, 162, 39, 0.7),
                 0 0 60px rgba(201, 162, 39, 0.35);
    background-position: -100% 0;
    transition: letter-spacing .6s cubic-bezier(.2,.8,.2,1),
                text-shadow .6s,
                transform .6s,
                background-position 1.4s linear;
}

/* 2. SHAIYA 副标题：金色脉冲 + 字距 */
.hero-compact .hero-en {
    transition: color .4s, letter-spacing .5s, text-shadow .4s;
    cursor: default;
}
.hero-compact .hero-en:hover {
    color: var(--accent-gold);
    letter-spacing: 6px;
    text-shadow: 0 0 18px rgba(201, 162, 39, 0.5);
}

/* 3. "立即下载" 主按钮：金色闪光扫过 */
.hero-actions .btn-primary {
    position: relative;
    overflow: hidden;
    transition: transform .3s, box-shadow .3s;
    z-index: 1;
}
.hero-actions .btn-primary::before {
    content: "";
    position: absolute;
    top: 0; left: -100%;
    width: 60%; height: 100%;
    background: linear-gradient(110deg,
        transparent 0%,
        rgba(255,255,255,0.55) 50%,
        transparent 100%);
    transition: left .7s cubic-bezier(.4,.2,.2,1);
    z-index: -1;
}
.hero-actions .btn-primary:hover {
    transform: translateY(-3px) scale(1.04);
    box-shadow: 0 12px 32px rgba(201, 162, 39, 0.55),
                0 0 24px rgba(201, 162, 39, 0.4) inset;
}
.hero-actions .btn-primary:hover::before {
    left: 160%;
}

/* 4. "了解新版本 →" 次按钮：边框光环 + 箭头滑动 */
.hero-actions .btn-secondary {
    position: relative;
    overflow: hidden;
    transition: color .3s, border-color .3s, transform .3s,
                background-color .3s, letter-spacing .3s;
}
.hero-actions .btn-secondary::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid var(--accent-gold);
    opacity: 0;
    transform: scale(1.15);
    transition: opacity .35s, transform .35s;
    pointer-events: none;
}
.hero-actions .btn-secondary:hover {
    color: var(--accent-gold);
    border-color: var(--accent-gold);
    background: rgba(201, 162, 39, 0.08);
    letter-spacing: 4px;
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(201, 162, 39, 0.25);
}
.hero-actions .btn-secondary:hover::after {
    opacity: 1;
    transform: scale(1);
}

/* ===== 主页左右分栏布局 ===== */
.home-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 8px;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
}

/* 侧边栏与右侧主内容对齐（取消顶部 margin）*/
.qit_side { margin: 0 !important; }
.home-main { padding: 0 !important; }

/* 让三栏顶部对齐、有同样的边框联接 */
.row-banner-news .banner-area,
.row-banner-news .news-tab-box { height: auto; }

/* ========================================
   侧边栏 — 参照 shaiya.8yx.com 精确复刻
   ======================================== */
.qit_side {
    width: 240px;
    background: #333e46;
    align-self: stretch;
    margin: 0;
}

/* === 上半部：下载按钮+四宫格+红框区 === */
.qit_top {
    position: relative;
    width: 240px;
    height: 748px;
    background: #596974;
}

/* 透明链接基础 */
.qit_link {
    position: absolute;
    display: block;
    z-index: 2;
    transition: all 0.3s;
}

/* 游戏下载横幅 (177px) */
.qit_link_dl {
    top: 0;
    left: 0;
    width: 240px;
    height: 177px;
    background: url('../img/sqx_lown.png') center/cover no-repeat,
                linear-gradient(135deg, #d35400, #e67e22, #f39c12);
}

.qit_link_dl:hover { filter: brightness(1.1); }

/* 四宫格 (top: 349px, 每格 119x120) */
.qit_link_g1, .qit_link_g2, .qit_link_g3, .qit_link_g4 {
    width: 119px;
    height: 120px;
    background: #596974;
    color: #fff;
    text-align: center;
    padding-top: 25px;
}

.qit_link_g1 { top: 177px; left: 121px; border-bottom: 1px solid #4a5560; }
.qit_link_g2 { top: 177px; left: 0; border-right: 1px solid #4a5560; border-bottom: 1px solid #4a5560; }
.qit_link_g3 { top: 298px; left: 0; border-right: 1px solid #4a5560; }
.qit_link_g4 { top: 298px; left: 121px; }

.qit_link_g1::before, .qit_link_g2::before, .qit_link_g3::before, .qit_link_g4::before {
    content: '';
    display: block;
    width: 48px;
    height: 43px;
    margin: 0 auto 10px;
    background: url('../img/sqx_side_icon.png') no-repeat;
    transition: transform 0.3s;
}

.qit_link_g1::before { background-position: -151px 0; }
.qit_link_g2::before { background-position: -44px 0; }
.qit_link_g3::before { background-position: -99px 0; }
.qit_link_g4::before { background-position: -151px 0; }

.qit_link_g1:hover::before { background-position: -151px -45px; }
.qit_link_g2:hover::before { background-position: -44px -45px; }
.qit_link_g3:hover::before { background-position: -99px -45px; }
.qit_link_g4:hover::before { background-position: -151px -45px; }

.qit_link_g1::after, .qit_link_g2::after, .qit_link_g3::after, .qit_link_g4::after {
    font-size: 14px;
    color: #fff;
    letter-spacing: 1px;
}
.qit_link_g1::after { content: '积分兑换'; }
.qit_link_g2::after { content: '快速充值'; }
.qit_link_g3::after { content: '客服中心'; }
.qit_link_g4::after { content: '领奖平台'; }

.qit_link_g1:hover, .qit_link_g2:hover, .qit_link_g3:hover, .qit_link_g4:hover {
    background: #6a7884;
    color: #ffbd4b;
}
.qit_link_g1:hover::after, .qit_link_g2:hover::after, .qit_link_g3:hover::after, .qit_link_g4:hover::after {
    color: #ffbd4b;
}

/* 新手指南/萌新招待 红框区 (top: 605, height: 120) */
.qit_link_g5, .qit_link_g6 {
    top: 453px;
    width: 90px;
    height: 60px;
    text-align: center;
    color: #fff;
}
.qit_link_g5 { left: 14px; }
.qit_link_g6 { left: 134px; }

.qit_link_g5::before, .qit_link_g6::before {
    content: '';
    display: block;
    width: 23px;
    height: 24px;
    margin: 0 auto 6px;
    background: url('../img/sqx_side_icon.png') no-repeat;
}
.qit_link_g5::before { background-position: -207px 0; }
.qit_link_g6::before { background-position: -235px 0; }
.qit_link_g5:hover::before { background-position: -207px -45px; }
.qit_link_g6:hover::before { background-position: -235px -45px; }

.qit_link_g5::after, .qit_link_g6::after {
    font-size: 12px;
    color: #fff;
}
.qit_link_g5::after { content: '新手指南'; }
.qit_link_g6::after { content: '萌新招待'; }

.qit_link_g5:hover::after, .qit_link_g6:hover::after { color: #5d0d00; }

/* 回归指南红框（3列）(top: 750, height: 120) */
.qit_link_g7, .qit_link_g8, .qit_link_g9 {
    top: 593px;
    width: 67px;
    height: 60px;
    text-align: center;
    color: #fff;
}
.qit_link_g7 { left: 14px; }
.qit_link_g8 { left: 87px; }
.qit_link_g9 { left: 159px; }

.qit_link_g7::before, .qit_link_g8::before, .qit_link_g9::before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    margin: 0 auto 6px;
    background: url('../img/sqx_side_icon.png') no-repeat;
}
.qit_link_g7::before { background-position: -261px 0; width: 29px; }
.qit_link_g8::before { background-position: -296px 0; }
.qit_link_g9::before { background-position: -326px 0; }
.qit_link_g7:hover::before { background-position: -261px -45px; }
.qit_link_g8:hover::before { background-position: -296px -45px; }
.qit_link_g9:hover::before { background-position: -326px -45px; }

.qit_link_g7::after, .qit_link_g8::after, .qit_link_g9::after {
    font-size: 12px;
    color: #fff;
}
.qit_link_g7::after { content: '回归指南'; }
.qit_link_g8::after { content: '回归礼包'; }
.qit_link_g9::after { content: '等待开放'; opacity: 0.8; }

/* 两个红色背景框 (绝对定位 div) */
.qit_red_box1, .qit_red_box2 {
    position: absolute;
    left: 10px;
    width: 219px;
    border: 4px solid #c42d14;
    background: red;
    z-index: 1;
    text-align: center;
}

.qit_red_box1 { top: 423px; height: 120px; }
.qit_red_box2 { top: 563px; height: 130px; }

.qit_red_tit {
    display: inline-block;
    margin-top: 0;
    padding: 0 18px;
    background: #c42d14;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    line-height: 28px;
    letter-spacing: 2px;
    transform: translateY(-14px);
}

/* 让 g5-g9 链接在红框上面 */
.qit_link_g5, .qit_link_g6, .qit_link_g7, .qit_link_g8, .qit_link_g9 { z-index: 3; }

/* === 蓝灰色导航 === */
.qit_blue {
    background: #333e46;
    padding: 16px 0;
    border-top: 1px solid #2a343c;
}

.qit_navs { list-style: none; padding: 0; margin: 0; }
.qit_navs li { border-bottom: 1px solid #2a343c; }
.qit_navs li:last-child { border-bottom: none; }

.qit_navs a {
    display: flex;
    align-items: center;
    padding: 14px 30px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    background-color: #cb1f02;
    border-bottom: 2px solid #dd3a1f;
    transition: all 0.2s;
}

.qit_navs a:hover { background-color: #ac1a01; }

.qn_icon {
    display: inline-block;
    width: 41px;
    height: 38px;
    margin-right: 16px;
    background: url('../img/sqx_side_icon.png') no-repeat;
}

.qn_i1 { background-position: -349px 0; }
.qn_i2 { background-position: -390px 0; width: 46px; }
.qn_i3 { background-position: -441px 0; }

.qit_navs a:hover .qn_i1 { background-position: -349px -45px; }
.qit_navs a:hover .qn_i2 { background-position: -390px -45px; }
.qit_navs a:hover .qn_i3 { background-position: -441px -45px; }

.qn_txt { color: #ff5438; font-size: 18px; font-weight: 700; }
.qit_navs a:hover .qn_txt { transform: translateX(6px); }

/* === 客服块 === */
.qit_xz {
    margin: 20px 10px;
    padding: 14px 0;
    border: 4px solid #c42d14;
    text-align: center;
    color: #fff;
}

.qit_xz_tit {
    width: 110px;
    margin: 0 auto;
    border-bottom: 1px solid #c42d14;
    color: #5d0d00;
    font-weight: 700;
    font-size: 18px;
    line-height: 47px;
    background: rgba(0,0,0,0.1);
}

.qit_xz_desc {
    margin: 14px 24px;
    font-size: 13px;
    color: #fff;
    line-height: 1.8;
}

.qit_xz_btn {
    display: inline-block;
    padding: 8px 20px;
    background: #ac1a01;
    color: #ff5438;
    font-size: 14px;
    font-weight: 700;
    border-radius: 2px;
    transition: all 0.2s;
}

.qit_xz_btn:hover { background: #8a1500; }

/* === 二维码 === */
.qit_qr {
    text-align: center;
    color: #9a9caf;
    padding: 20px 0;
    font-size: 13px;
    line-height: 1.8;
}

.qit_qr img {
    width: 70%;
    max-width: 140px;
    margin-bottom: 10px;
}

/* === 社交链接 === */
.qit_social {
    display: flex;
    margin: 0 20px 20px;
}

.qit_social a {
    flex: 1;
    text-align: center;
    padding: 16px 0;
    color: #fff;
    background: #2a343c;
    transition: all 0.2s;
}

.qit_social a:first-child { border-right: 1px solid #14232e; }
.qit_social a:hover { background: #14232e; }

.qs_icon {
    display: block;
    width: 51px;
    height: 35px;
    margin: 0 auto 8px;
    background: url('../img/sqx_side_icon.png') no-repeat;
}

.qs_i1 { background-position: -481px 0; }
.qs_i2 { background-position: -531px 0; height: 23px; }

.qit_social a span:last-child { font-size: 13px; }

/* -- 主内容区 -- */
.home-main {
    padding: 20px 0 40px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* 第一行：轮播 + 新闻（与侧边栏一体）*/
.row-banner-news {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 0;
}

.banner-area {
    overflow: hidden;
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
}

.banner-slide {
    position: relative;
    width: 100%;
    padding-bottom: 56%;
    background: #0d1525;
    overflow: hidden;
}

.banner-slide img,
.banner-slide .bs-img {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    z-index: 1;
}

.banner-slide .bs-img.active {
    opacity: 1;
    z-index: 2;
}
.banner-slide a.bs-img,
.banner-slide div.bs-img { cursor: pointer; display: block; text-decoration: none; }
.banner-slide a.bs-img:not(.active) { pointer-events: none; }
/* 包裹元素已控制淡入淡出，里面的 <img> 不再受 opacity 影响 */
.banner-slide a.bs-img > img,
.banner-slide div.bs-img > img {
    opacity: 1;
    transition: none;
}

.bs-dots {
    position: absolute;
    bottom: 12px;
    right: 14px;
    z-index: 5;
    display: flex;
    gap: 6px;
}

.bs-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,0.4);
    cursor: pointer;
    transition: all 0.2s;
}

.bs-dot.active {
    background: var(--accent-gold);
    transform: scale(1.3);
}

.bs-dot:hover { background: rgba(255,255,255,0.7); }

.banner-caption {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 24px 16px 16px;
    background: linear-gradient(transparent, rgba(0,0,0,0.8));
    z-index: 4;
}

.banner-tag {
    display: inline-block;
    padding: 2px 10px;
    background: var(--accent-gold);
    color: var(--bg-deep);
    font-size: 10px;
    font-weight: 700;
    border-radius: 3px;
    margin-bottom: 6px;
}

.banner-caption h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* 新闻Tab */
.news-tab-box {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-left: none;
    border-radius: 0;
    display: flex;
    flex-direction: column;
}

.news-tab-header {
    display: flex;
    align-items: center;
    gap: 0;
    border-bottom: 1px solid var(--border-subtle);
    padding: 0 16px;
    height: 44px;
}

.news-tab-title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--accent-gold);
    position: relative;
    padding-left: 12px;
}

.news-tab-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 14px;
    background: var(--accent-gold);
}

.news-tab {
    padding: 12px 14px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--text-muted);
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}

.news-tab:hover { color: var(--text-primary); }
.news-tab.active { color: var(--accent-gold); border-bottom-color: var(--accent-gold); }

.news-tab-more {
    margin-left: auto;
    font-size: 20px;
    color: var(--accent-gold);
    font-weight: 700;
    line-height: 1;
    transition: transform 0.2s;
}

.news-tab-more:hover { transform: scale(1.3); }

.news-tab-content {
    flex: 1;
    padding: 8px 0;
    overflow-y: auto;
}

.ntc-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    transition: all 0.2s;
}

.ntc-item:hover { background: var(--bg-hover); }

.ntc-top { border-left: 3px solid var(--accent-gold); }

.ntc-hot {
    display: inline-block;
    padding: 1px 6px;
    background: var(--accent-red);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    border-radius: 2px;
    flex-shrink: 0;
}

.ntc-title {
    flex: 1;
    font-size: 13px;
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.2s;
}

.ntc-item:hover .ntc-title { color: var(--text-primary); }

.ntc-date {
    flex-shrink: 0;
    font-size: 11px;
    color: var(--text-muted);
}

/* ========================================
   第二行：攻略专栏 + 版本/活动 (_xsq-2 参照 shaiya.8yx.com)
   ======================================== */
.row-guide-version {
    display: grid;
    grid-template-columns: 1.75fr 1fr;
    gap: 12px;
    margin-top: 0;
}

/* === 左：攻略专栏 === */
.m-left {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    height: 458px;
    overflow: hidden;
    position: relative;
}

.ml-tit {
    padding: 20px 30px 14px;
}

.ml-tit h2 {
    color: var(--accent-gold);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1;
}

/* 4 个垂直 Tab */
.col-gm {
    list-style: none;
    margin: 0;
    padding: 0;
    height: 385px;
    display: flex;
    align-items: stretch;
}

.cg-item {
    position: relative;
    overflow: hidden;
    width: 60px;
    height: 100%;
    border-left: 1px solid var(--border-subtle);
    transition: width 0.4s ease;
    flex-shrink: 0;
}

.cg-item:first-child { border-left: none; }

.cg-item.active {
    width: calc(100% - 60px * 3);
    flex-shrink: 1;
    flex-grow: 1;
}

/* Tab 标签栏（垂直文字） */
.gm-preview {
    position: absolute;
    top: 0; left: 0;
    width: 60px;
    height: 100%;
    color: var(--text-secondary);
    text-align: center;
    transition: all 0.3s;
    cursor: pointer;
    z-index: 2;
}

.gm-preview:hover { color: var(--accent-gold); }

.gm-theme {
    position: absolute;
    bottom: 70px;
    left: 22px;
    width: 18px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 4px;
    line-height: 1.2;
    transition: all 0.3s;
}

.cg-item.active .gm-theme {
    color: var(--accent-gold);
    transform: scale(1.1);
    transform-origin: 50% 100%;
}

.gm-arrow {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 8px;
    height: 14px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateX(-50%) rotate(-45deg);
    opacity: 0.5;
}

.cg-item.active .gm-arrow {
    color: var(--accent-gold);
    opacity: 1;
    transform: translateX(-50%) rotate(45deg);
}

/* Tab 内容（仅 active 时显示） */
.gm-con {
    margin-left: 60px;
    height: 100%;
    padding: 0 24px 0 12px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s 0.2s;
}

.cg-item.active .gm-con {
    opacity: 1;
    visibility: visible;
}

.gm-zl {
    display: flex;
    gap: 18px;
    padding-top: 4px;
}

.zl-img {
    width: 200px;
    height: 170px;
    object-fit: cover;
    border-radius: 4px;
    flex-shrink: 0;
}

.zl-desc { flex: 1; min-width: 0; }

.zl-author {
    margin-bottom: 10px;
    color: var(--text-primary);
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 1px;
}

.zl-txt {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.85;
    text-align: justify;
}

/* 最新专栏列表 */
.gm-list {
    margin-top: 16px;
}

.gm-list h3 {
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.gm-list .top-li {
    height: 42px;
    padding: 0 14px;
    background: linear-gradient(90deg, rgba(74,122,184,0.18), rgba(74,122,184,0.08));
    border-left: 3px solid var(--accent-blue);
    color: #fff;
    line-height: 42px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 8px;
    transition: all 0.2s;
}

.gm-list .top-li:hover { background: linear-gradient(90deg, rgba(74,122,184,0.3), rgba(74,122,184,0.12)); }
.gm-list .top-li a { color: #fff; font-size: 13px; }

.gm-list .bom-li p {
    position: relative;
    overflow: hidden;
    padding-right: 50px;
    height: 28px;
    line-height: 28px;
    color: var(--text-muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gm-list .bom-li p a { color: var(--text-secondary); transition: color 0.2s; }
.gm-list .bom-li p a:hover { color: var(--accent-gold); }
.gm-list .bom-li .date {
    position: absolute;
    right: 0;
    color: var(--text-muted);
    font-size: 11px;
}

/* === 右：版本+活动 + Tab轮播 === */
.m-right {
    height: 458px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* 上半：先锋服 + 活动中心 */
.clo-1 {
    height: 158px;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 0;
}

.c-entry-play {
    position: relative;
    background:
        linear-gradient(135deg, #d35400, #e67e22, #f39c12);
    color: #fff;
    text-align: center;
    overflow: hidden;
    transition: filter 0.3s;
}

.c-entry-play::before {
    content: '';
    position: absolute;
    top: -20px; right: -20px;
    width: 120px; height: 120px;
    background: radial-gradient(circle, rgba(255,255,255,0.18), transparent 60%);
}

.c-entry-play:hover { filter: brightness(1.1); }

.c-entry-play h3 {
    position: relative;
    margin-top: 50px;
    color: #fff;
    font-weight: 700;
    font-size: 22px;
    letter-spacing: 4px;
    line-height: 1;
    text-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.c-entry-play .cep-en {
    position: relative;
    display: block;
    margin-top: 14px;
    color: rgba(255,255,255,0.85);
    font-size: 11px;
    letter-spacing: 3px;
    font-weight: 700;
}

.c-entry-active {
    position: relative;
    overflow: hidden;
    background: #c0392b;
    color: #fff;
    text-align: center;
    transition: all 0.3s;
}

.c-entry-active img {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.35;
    transition: all 0.4s;
}

.c-entry-active:hover img { opacity: 0.55; transform: scale(1.05); }

.c-entry-active h4 {
    position: absolute;
    top: 48px;
    width: 100%;
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 4px;
    transition: all 0.4s;
}

.c-entry-active p {
    position: absolute;
    top: 88px;
    width: 100%;
    color: rgba(255,255,255,0.85);
    font-size: 11px;
    letter-spacing: 3px;
    font-weight: 700;
    transition: all 0.4s;
}

.c-entry-active:hover h4 { letter-spacing: 6px; }
.c-entry-active:hover p { opacity: 0.5; }

/* 下半：图轮播 + 3个Tab */
.clo-2 {
    flex: 1;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.se-bot {
    position: relative;
    flex: 1;
    overflow: hidden;
}

.sb-img {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    opacity: 0;
    transition: opacity 0.6s;
}

.sb-img.active { opacity: 1; z-index: 2; }

.sb-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.se-top {
    display: flex;
    height: 38px;
    background: var(--bg-hover);
    border-top: 1px solid var(--border-subtle);
}

.se-tab {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    overflow: hidden;
    border-right: 1px solid var(--border-subtle);
}

.se-tab:last-child { border-right: none; }

.se-tab span {
    position: relative;
    z-index: 2;
    transition: color 0.3s;
}

.se-tab i {
    position: absolute;
    top: 0; left: 0;
    width: 0;
    height: 100%;
    background: var(--accent-red);
    transition: width 0.4s;
}

.se-tab:hover span,
.se-tab.active span { color: #fff; }
.se-tab:hover i,
.se-tab.active i { width: 100%; }

/* ========================================
   第三行：职业介绍 (_xsq-3 参照 shaiya.8yx.com)
   ======================================== */
.row-classes {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    padding: 24px 30px 30px;
    position: relative;
}

.rc-head {
    position: relative;
    height: 50px;
    margin-bottom: 8px;
}

.rc-head .m-tit {
    display: inline-block;
    color: var(--accent-gold);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1;
    margin-right: 30px;
    vertical-align: middle;
}

/* 阵营 Tab */
.rc-head .tab-hd {
    display: inline-block;
    vertical-align: middle;
}

.rc-head .tab-hd a {
    display: inline-block;
    padding: 6px 18px;
    margin-right: 6px;
    color: var(--text-secondary);
    font-size: 14px;
    font-weight: 700;
    border: 1px solid var(--border-subtle);
    background: var(--bg-hover);
    transition: all 0.2s;
}

.rc-head .tab-hd a:hover { color: var(--text-primary); }
.rc-head .tab-hd a.active {
    background: var(--accent-red);
    color: #fff;
    border-color: var(--accent-red);
}

/* 子 Tab（单字 战/骑/牧/弓/法/刺/魂） */
.sub-tab-hd {
    margin-top: 14px;
}

.sub-tab-hd > div {
    display: flex;
    gap: 0;
    align-items: center;
}

.sub-tab-hd a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--text-secondary);
    font-size: 18px;
    font-weight: 700;
    transition: all 0.2s;
    position: relative;
}

.sub-tab-hd a + a::before {
    content: '|';
    position: absolute;
    left: -2px;
    color: var(--border-subtle);
    font-weight: 300;
}

.sub-tab-hd a:hover { color: var(--text-primary); }
.sub-tab-hd a.active {
    color: var(--accent-red);
    transform: scale(1.15);
}

/* 主体内容区 */
.sub-tab-bd {
    position: relative;
    height: 360px;
    margin-top: 14px;
}

.role-group {
    position: relative;
    width: 100%;
    height: 100%;
}

.role {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s;
}

.role.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

/* 左右两侧的 prev / next 文字 */
.r-side {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    text-align: center;
    color: var(--text-muted);
}

.r-pre { left: 0; }
.r-next { right: 0; }

.r-side .txtd {
    display: block;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 4px;
    line-height: 1.1;
    writing-mode: vertical-rl;
    margin: 0 auto 8px;
}

.r-side .ico-en {
    display: block;
    color: var(--text-muted);
    font-size: 11px;
    letter-spacing: 4px;
    font-style: normal;
    writing-mode: vertical-rl;
    margin: 0 auto;
    opacity: 0.7;
}

/* 主显示区 */
.r-active {
    position: absolute;
    top: 0;
    left: 70px;
    right: 70px;
    height: 100%;
    background: linear-gradient(135deg, rgba(255,255,255,0.02), transparent);
    border: 1px solid var(--border-subtle);
}

.r-bigchar {
    position: absolute;
    top: 30px;
    left: 30px;
    width: 80px;
    height: 80px;
    border: 3px solid var(--text-secondary);
    color: var(--text-primary);
    font-size: 56px;
    font-weight: 700;
    text-align: center;
    line-height: 80px;
    letter-spacing: 0;
}

.rIn-img {
    position: absolute;
    top: -30px;
    right: 0;
    height: calc(100% + 60px);
    object-fit: contain;
    object-position: right top;
    filter: drop-shadow(0 8px 30px rgba(0,0,0,0.5));
    pointer-events: none;
}

.rIn-name {
    position: absolute;
    top: 50px;
    left: 140px;
    color: var(--text-primary);
}

.rIn-name .ch {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 2px;
}

.rIn-name .line {
    display: block;
    width: 50px;
    height: 2px;
    background: var(--accent-gold);
    margin-top: 10px;
}

.rIn-desc {
    position: absolute;
    top: 130px;
    left: 140px;
    width: 380px;
    color: var(--text-secondary);
}

.rIn-desc p {
    font-size: 13px;
    line-height: 1.8;
}

.rIn-desc p:first-child {
    color: var(--text-primary);
    font-weight: 700;
    margin-bottom: 8px;
}

.rIn-desc .in_tex {
    line-height: 1.95;
    color: var(--text-secondary);
}

/* 左右切换箭头 */
.sub-tab-bd .prevs,
.sub-tab-bd .nexts {
    position: absolute;
    top: 50%;
    width: 36px;
    height: 36px;
    transform: translateY(-50%);
    background: var(--accent-red);
    cursor: pointer;
    z-index: 5;
    transition: all 0.2s;
    border-radius: 2px;
}

.sub-tab-bd .prevs { left: 70px; }
.sub-tab-bd .nexts { right: 70px; }

.sub-tab-bd .prevs::before,
.sub-tab-bd .nexts::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.sub-tab-bd .prevs::before {
    transform: translate(-30%, -50%) rotate(-135deg);
}
.sub-tab-bd .nexts::before {
    transform: translate(-70%, -50%) rotate(45deg);
}

.sub-tab-bd .prevs:hover,
.sub-tab-bd .nexts:hover { background: #c0392b; }

/* ========================================
   第四行：官方直播站 (_xsq-4 参照 shaiya.8yx.com)
   ======================================== */
.row-anchor {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    padding: 24px 30px 30px;
    margin-bottom: 0;
    flex: 1;
}

.sr-head { position: relative; margin-bottom: 18px; }

.sr-title {
    display: flex;
    align-items: center;
    gap: 24px;
}

.sr-title h2 {
    color: var(--accent-red);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1;
}

.sr-more {
    padding: 6px 18px;
    background: var(--bg-hover);
    border: 1px solid var(--border-subtle);
    color: var(--text-secondary);
    font-size: 13px;
    transition: all 0.2s;
}

.sr-more:hover {
    background: var(--accent-red);
    color: #fff;
    border-color: var(--accent-red);
}

.sr-sub {
    margin-top: 8px;
    color: var(--text-muted);
    font-size: 13px;
    letter-spacing: 1px;
}

.sr-listTit {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-subtle);
}

.sr-listTit .sr-line {
    display: inline-block;
    width: 4px;
    height: 16px;
    background: var(--accent-red);
}

.sr-listTit span {
    color: var(--text-primary);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
}

/* 主播卡片列表 */
.sr-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 18px;
}

.sr-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px;
    background: linear-gradient(135deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
    border: 1px solid var(--border-subtle);
    overflow: hidden;
    transition: all 0.3s;
    min-height: 110px;
}

.sr-item:hover {
    border-color: var(--accent-red);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

.sr-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sr-name {
    color: var(--text-primary);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sr-hot {
    color: var(--text-secondary);
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.sr-heart {
    color: var(--accent-red);
    font-size: 14px;
}

.sr-btn {
    align-self: flex-start;
    padding: 5px 14px;
    background: var(--accent-red);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 2px;
    transition: all 0.2s;
}

.sr-btn:hover { background: #c0392b; }

.sr-avatar {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--border-subtle);
    flex-shrink: 0;
    transition: all 0.3s;
}

.sr-item:hover .sr-avatar {
    border-color: var(--accent-red);
    transform: scale(1.05);
}

/* ========================================
   官方出品 (_xsq-5 参照 shaiya.8yx.com)
   ======================================== */
.row-cp {
    max-width: 1440px;
    margin: 8px auto 8px;
    padding: 0 24px;
}

.cp-inner {
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    padding: 14px 24px 14px;
    position: relative;
}

.cp-head {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 12px;
}

.cp-head .m-tit {
    color: var(--accent-red);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 2px;
    line-height: 1;
}

.tab-cp {
    display: flex;
    gap: 0;
}

.tab-cp a {
    display: inline-block;
    padding: 0 18px;
    color: var(--text-secondary);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 22px;
    border-right: 1px solid var(--border-subtle);
    transition: color 0.2s;
}

.tab-cp a:last-child { border-right: none; }
.tab-cp a:first-child { padding-left: 0; }

.tab-cp a:hover { color: var(--text-primary); }
.tab-cp a.is_act { color: var(--accent-red); }

/* 内容区 */
.bom-cp {
    position: relative;
}

.tab-bd {
    display: none;
}

.tab-bd.active { display: block; }

.tab-bd ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}

.m-wallpaper ul,
.m-video ul {
    grid-template-columns: repeat(3, 1fr);
}

.m-screen ul {
    grid-template-columns: repeat(6, 1fr);
}

.tab-bd li {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/9;
    border: 1px solid var(--border-subtle);
    transition: all 0.3s;
}

.tab-bd li:hover {
    border-color: var(--accent-red);
    transform: translateY(-3px);
}

.tab-bd .pic { width: 100%; height: 100%; }

.tab-bd .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}

.tab-bd li:hover .pic img { transform: scale(1.06); }

.cp-mask {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: 30px 12px 10px;
    background: linear-gradient(transparent, rgba(0,0,0,0.85));
    text-align: center;
    transform: translateY(100%);
    transition: transform 0.3s;
}

.tab-bd li:hover .cp-mask { transform: translateY(0); }

.cp-mask a {
    color: var(--accent-gold);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
}

/* 视频播放图标 */
.m-video .v-cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.m-video .v-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56px;
    height: 56px;
    background: rgba(0,0,0,0.6);
    border: 2px solid #fff;
    border-radius: 50%;
    transition: all 0.3s;
    z-index: 2;
}

.m-video .v-play::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 55%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-left: 16px solid #fff;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

.m-video li:hover .v-play {
    background: var(--accent-red);
    transform: translate(-50%, -50%) scale(1.1);
}

/* + 更多按钮 */
.cp-more {
    position: absolute;
    top: -34px;
    right: 0;
    width: 28px;
    height: 28px;
    color: var(--accent-red);
    font-size: 24px;
    font-weight: 300;
    line-height: 28px;
    text-align: center;
    transition: transform 0.3s;
}

.cp-more:hover { transform: rotate(180deg); }

/* ========================================
   新闻公告页 (左列表 + 右侧栏)
   ======================================== */
.news-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 24px 60px;
}

/* 面包屑 */
.news-crumb {
    color: var(--text-muted);
    font-size: 13px;
    padding: 10px 0 18px;
    border-bottom: 1px solid var(--border-subtle);
    margin-bottom: 24px;
}
.news-crumb a { color: var(--text-secondary); transition: color .2s; }
.news-crumb a:hover { color: var(--accent-gold); }
.news-crumb .sep { margin: 0 8px; opacity: 0.5; }
.news-crumb .cur { color: var(--accent-gold); }

/* 主布局：左列表 + 右侧栏 */
.news-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 24px;
    align-items: start;
}

/* 左主列表 */
.news-main {
    background: rgba(13, 20, 37, 0.85);
    border: 1px solid var(--border-subtle);
    padding: 18px 24px 24px;
    backdrop-filter: blur(4px);
}

.news-main-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border-subtle);
    margin-bottom: 8px;
}
.news-main-head h2 {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    border-left: 3px solid var(--accent-gold);
    padding-left: 10px;
    line-height: 1;
}
.news-rss {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--accent-gold);
    font-size: 12px;
}
.news-rss .rss-ico {
    width: 14px; height: 14px;
    background: var(--accent-gold);
    -webkit-mask: radial-gradient(circle at 2px 12px, #000 2.5px, transparent 3px) no-repeat,
                  radial-gradient(circle at 2px 12px, transparent 4px, #000 4.5px, #000 6.5px, transparent 7px) no-repeat,
                  radial-gradient(circle at 2px 12px, transparent 8px, #000 8.5px, #000 10.5px, transparent 11px) no-repeat;
    mask: radial-gradient(circle at 2px 12px, #000 2.5px, transparent 3px) no-repeat,
          radial-gradient(circle at 2px 12px, transparent 4px, #000 4.5px, #000 6.5px, transparent 7px) no-repeat,
          radial-gradient(circle at 2px 12px, transparent 8px, #000 8.5px, #000 10.5px, transparent 11px) no-repeat;
}

/* 列表 */
.news-list { list-style: none; }
.news-row {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 22px;
    padding: 22px 0;
    border-bottom: 1px dashed var(--border-subtle);
}
.news-row:last-child { border-bottom: none; }

.nr-thumb {
    position: relative;
    display: block;
    width: 220px;
    height: 130px;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
}
.nr-thumb img {
    width: 100%; height: 100%; object-fit: cover;
}
.nr-cat {
    position: absolute;
    top: 8px; left: 8px;
    padding: 3px 10px;
    background: rgba(192, 57, 43, 0.92);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
}

.nr-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 4px 0;
}
.nr-title {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: var(--accent-red);
    line-height: 1.4;
    margin-bottom: 10px;
    transition: color .2s;
}
.nr-title:hover { color: var(--accent-gold); }
.nr-sum {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.7;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.nr-date {
    color: var(--text-muted);
    font-size: 12px;
    letter-spacing: 1px;
}

/* 右侧栏 */
.news-side { display: flex; flex-direction: column; gap: 18px; }

.ns-block {
    background: rgba(13, 20, 37, 0.85);
    border: 1px solid var(--border-subtle);
    backdrop-filter: blur(4px);
}
.ns-tit {
    padding: 12px 18px;
    background: linear-gradient(90deg, rgba(201,162,39,0.10), transparent);
    border-bottom: 1px solid var(--border-subtle);
    color: var(--accent-gold);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 2px;
}

/* 分类按钮 */
.ns-cats {
    padding: 16px 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.ns-cats a {
    padding: 10px 0;
    text-align: center;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    color: var(--text-secondary);
    font-size: 13px;
    transition: all .2s;
}
.ns-cats a:hover,
.ns-cats a.active {
    background: var(--accent-gold);
    border-color: var(--accent-gold);
    color: var(--bg-deep);
    font-weight: 700;
}

/* 推荐列表 */
.ns-rec { list-style: none; padding: 8px 18px; }
.ns-rec li {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px dashed var(--border-subtle);
    font-size: 13px;
}
.ns-rec li:last-child { border-bottom: none; }
.ns-date {
    color: var(--text-muted);
    font-size: 11px;
    flex-shrink: 0;
    letter-spacing: 1px;
}
.ns-link {
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .2s;
}
.ns-link:hover { color: var(--accent-gold); }

/* ===== 新闻详情卡片 ===== */
.news-detail-card {
    background: rgba(13, 20, 37, 0.85);
    border: 1px solid var(--border-subtle);
    backdrop-filter: blur(4px);
    padding: 30px 40px 32px;
}
.nd-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary);
    text-align: center;
    line-height: 1.5;
    margin-bottom: 16px;
}
.nd-meta {
    display: flex;
    justify-content: center;
    gap: 30px;
    color: var(--text-muted);
    font-size: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--border-subtle);
    margin-bottom: 22px;
}
.nd-summary {
    background: rgba(192, 57, 43, 0.06);
    border-left: 3px solid var(--accent-red);
    padding: 12px 16px;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.7;
    margin-bottom: 24px;
}
.nd-sum-tag {
    display: inline-block;
    color: var(--accent-red);
    font-weight: 700;
    margin-right: 8px;
}
.nd-body {
    color: var(--text-secondary);
    font-size: 15px;
    line-height: 1.9;
}
.nd-body p { margin-bottom: 14px; }
.nd-body img { max-width: 100%; height: auto; margin: 16px auto; display: block; }

/* 正文里的通用表格样式（兼容编辑器输出 + 行内 style 优先） */
.nd-body table {
    width: 100%;
    margin: 18px 0;
    border-collapse: collapse;
    font-size: 13.5px;
    background: rgba(255, 255, 255, 0.015);
    border: 1px solid var(--border-subtle);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
    overflow: hidden;
}
.nd-body table th,
.nd-body table td {
    border: 1px solid var(--border-subtle);
    padding: 10px 14px;
    text-align: center;
    vertical-align: middle;
    color: var(--text-secondary);
    line-height: 1.7;
}
.nd-body table th {
    background: rgb(84, 130, 53);                /* 默认绿色表头（与编辑器一致） */
    color: #fff !important;
    font-weight: 700;
    letter-spacing: 1px;
    border-color: rgba(0, 0, 0, 0.25);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.nd-body table tbody tr:nth-child(odd) td {
    background: rgba(255, 255, 255, 0.025);     /* 斑马纹 */
}
.nd-body table tbody tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.005);
}
.nd-body table tbody tr:hover td {
    background: rgba(201, 162, 39, 0.08);        /* 悬停高亮 */
    color: var(--text-primary);
    transition: background 0.15s, color 0.15s;
}
.nd-body table b,
.nd-body table strong { color: var(--accent-gold); }

/* 管理员快速编辑按钮（meta 行） */
.nd-meta .nd-edit-btn {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 12px;
    font-size: 12px;
    line-height: 1.6;
    color: #1a1a1a !important;
    background: var(--accent-gold);
    border-radius: 2px;
    text-decoration: none;
    letter-spacing: 1px;
    box-shadow: 0 1px 4px rgba(201, 162, 39, 0.35);
    transition: filter .15s, transform .15s;
}
.nd-meta .nd-edit-btn:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

/* 侧栏 QQ 群信息 */
.qit_xz.qit_qq {
    text-align: center;
    padding: 14px 12px 16px;
}
.qit_xz.qit_qq .qit_xz_tit {
    color: var(--accent-gold);
    font-weight: 700;
    margin-bottom: 6px;
}
.qit_qq_line {
    margin: 4px 0;
    font-size: 13px;
    color: var(--text-secondary);
    letter-spacing: 0.5px;
}
.qit_qq_line b {
    color: #fff;
    font-family: Consolas, monospace;
    font-size: 14px;
    margin-left: 4px;
}
.qit_qq_line .qq-join-btn {
    margin-left: 8px;
    padding: 1px 8px;
    font-size: 11px;
    line-height: 1.5;
    color: #1a1a1a;
    background: var(--accent-gold);
    border: none;
    border-radius: 2px;
    cursor: pointer;
    letter-spacing: 1px;
    transition: filter .15s, transform .15s;
    vertical-align: middle;
}
.qit_qq_line .qq-join-btn:hover { filter: brightness(1.1); transform: translateY(-1px); }
.qit_qq_line .qq-join-btn.copied { background: #2da34c; color: #fff; }

/* 健康游戏忠告标语 */
.qit_slogan {
    margin-top: 14px;
    padding: 12px 10px;
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid var(--border-subtle);
    border-radius: 2px;
    text-align: center;
}
.qit_slogan p {
    margin: 4px 0;
    font-size: 12px;
    line-height: 1.7;
    color: var(--text-muted);
    letter-spacing: 1px;
}

/* 底部单行 */
.footer-line {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    font-size: 13px;
    color: var(--text-muted);
    letter-spacing: 0.5px;
}
.footer-line .fl-brand {
    color: var(--accent-gold);
    font-weight: 700;
    letter-spacing: 2px;
}
.footer-line .fl-sep {
    color: var(--border-subtle);
}
.footer-line .fl-desc,
.footer-line .fl-copy {
    color: var(--text-muted);
}

/* ===== 编辑器内容区表格（WYSIWYG，与前端 .nd-body table 完全一致） =====
   优先级：用 .w-e-text-container 双层选择器 + !important 强制覆盖 wangEditor 内置的
   td { padding:3px 5px } / border 等基础样式。 */
.w-e-text-container .w-e-text table {
    width: 100%;                                /* 不要 !important，否则 JS 拖拽设置的像素宽度会失效 */
    margin: 18px 0;
    border-collapse: collapse;
    font-size: 14px;
    background: rgba(255, 255, 255, 0.015);
    border: 1px solid var(--border-subtle);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}
.w-e-text-container .w-e-text table th,
.w-e-text-container .w-e-text table td {
    border: 1px solid var(--border-subtle) !important;
    padding: 10px 14px !important;
    text-align: center;
    vertical-align: middle;
    color: var(--text-secondary);
    line-height: 1.7 !important;
    min-height: 22px;
}
.w-e-text-container .w-e-text table th {
    background: rgb(84, 130, 53) !important;
    color: #fff !important;
    font-weight: 700;
    letter-spacing: 1px;
    border-color: rgba(0, 0, 0, 0.25) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}
.w-e-text-container .w-e-text table tbody tr:nth-child(odd) td {
    background: rgba(255, 255, 255, 0.025);
}
.w-e-text-container .w-e-text table tbody tr:nth-child(even) td {
    background: rgba(255, 255, 255, 0.005);
}
.w-e-text-container .w-e-text table tbody tr:hover td {
    background: rgba(201, 162, 39, 0.08);
    color: var(--text-primary);
    transition: background 0.15s, color 0.15s;
}
.w-e-text-container .w-e-text table b,
.w-e-text-container .w-e-text table strong { color: var(--accent-gold); }

/* 编辑器底色 / 默认文字色（让表格周围环境也接近前端文章卡片） */
.w-e-text-container,
.w-e-text-container .w-e-text {
    background: #0d1425 !important;
    color: var(--text-secondary, #c8cdd9);
}
.w-e-text-container .w-e-text p,
.w-e-text-container .w-e-text li { color: inherit; }
/* 单元格里 wangEditor 会自动包 <p>，去掉它的额外上下间距，避免行高被叠加放大 */
.w-e-text-container .w-e-text table td p,
.w-e-text-container .w-e-text table th p { margin: 0 !important; }
.nd-body h2, .nd-body h3 {
    color: var(--text-primary);
    margin: 22px 0 12px;
    padding-left: 10px;
    border-left: 3px solid var(--accent-gold);
}

/* 上下篇 */
.nd-nav {
    margin-top: 36px;
    padding-top: 20px;
    border-top: 1px solid var(--border-subtle);
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 13px;
}
.nd-nav-item { display: flex; gap: 6px; }
.nd-nav-label { color: var(--accent-gold); flex-shrink: 0; }
.nd-nav-item a {
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .2s;
}
.nd-nav-item a:hover { color: var(--accent-gold); }
.nd-nav-empty { color: var(--text-muted); }

/* 最新资讯（带缩略图） */
.ns-latest { list-style: none; padding: 14px 18px; }
.ns-latest li {
    display: flex;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px dashed var(--border-subtle);
}
.ns-latest li:last-child { border-bottom: none; }
.nl-thumb {
    flex-shrink: 0;
    width: 70px; height: 50px;
    overflow: hidden;
    border: 1px solid var(--border-subtle);
}
.nl-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.nl-thumb:hover img { transform: scale(1.06); }
.nl-body { flex: 1; min-width: 0; }
.nl-title {
    display: block;
    color: var(--accent-red);
    font-size: 13px;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 4px;
    transition: color .2s;
}
.nl-title:hover { color: var(--accent-gold); }
.nl-sum {
    color: var(--text-muted);
    font-size: 11px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 响应式 */
@media (max-width: 960px) {
    .news-layout { grid-template-columns: 1fr; }
    .news-row { grid-template-columns: 140px 1fr; gap: 14px; }
    .nr-thumb { width: 140px; height: 90px; }
    .nr-title { font-size: 15px; }
    .nr-sum { -webkit-line-clamp: 2; }
    .news-detail-card { padding: 20px; }
    .nd-meta { gap: 14px; flex-wrap: wrap; }
}

/* ========================================
   游戏设置页
   ======================================== */
.settings-content {
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.9;
    padding: 8px 4px;
}
.settings-content p { margin: 12px 0; }
.settings-content b { color: var(--accent-gold); font-weight: 700; }
.settings-content code {
    padding: 2px 8px;
    background: rgba(192, 57, 43, 0.10);
    border: 1px solid rgba(192, 57, 43, 0.3);
    color: var(--accent-red);
    font-family: Consolas, monospace;
    font-size: 13px;
    border-radius: 3px;
}
.set-h3 {
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 700;
    border-left: 3px solid var(--accent-gold);
    padding-left: 10px;
    margin: 26px 0 12px;
    line-height: 1;
}
.set-h3:first-child { margin-top: 6px; }

.set-ol, .set-ul {
    margin: 8px 0 14px 22px;
    color: var(--text-secondary);
}
.set-ol li, .set-ul li { margin: 6px 0; }
.set-ol { list-style-type: decimal; }
.set-ul { list-style-type: disc; }

.set-tip {
    margin: 14px 0;
    padding: 12px 16px;
    background: rgba(201, 162, 39, 0.06);
    border-left: 3px solid var(--accent-gold);
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.8;
}
.set-tip b { color: var(--accent-gold); }

.set-table {
    width: 100%;
    margin: 12px 0 18px;
    border-collapse: collapse;
    font-size: 13px;
}
.set-table th,
.set-table td {
    border: 1px solid var(--border-subtle);
    padding: 10px 14px;
    text-align: center;
}
.set-table th {
    background: rgba(201, 162, 39, 0.10);
    color: var(--accent-gold);
    font-weight: 700;
    letter-spacing: 1px;
}
.set-table tr:nth-child(even) td { background: rgba(255, 255, 255, 0.02); }

/* 设置侧栏目录 */
.set-nav { list-style: none; padding: 8px 0; }
.set-nav li { border-bottom: 1px dashed var(--border-subtle); }
.set-nav li:last-child { border-bottom: none; }
.set-nav a {
    display: block;
    padding: 11px 18px;
    color: var(--text-secondary);
    font-size: 13px;
    transition: all .2s;
    border-left: 3px solid transparent;
}
.set-nav a:hover {
    color: var(--accent-gold);
    background: rgba(201, 162, 39, 0.04);
    border-left-color: var(--accent-gold);
}
.set-nav a.active {
    color: var(--accent-gold);
    background: rgba(201, 162, 39, 0.08);
    border-left-color: var(--accent-gold);
    font-weight: 700;
}

/* ========================================
   下载页（暗黑主题，参考 shaiya 风格）
   ======================================== */
.dl-page-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 6px 0 18px;
    border-bottom: 1px solid var(--border-subtle);
    margin-bottom: 28px;
}
.dl-head-left { display: flex; flex-direction: column; gap: 2px; }
.dl-head-en {
    color: var(--accent-red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
}
.dl-head-cn {
    color: var(--accent-red);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 4px;
    line-height: 1;
}
.dl-head-right {
    color: var(--text-muted);
    font-size: 13px;
}
.dl-head-right a { color: var(--text-secondary); transition: color .2s; }
.dl-head-right a:hover { color: var(--accent-gold); }
.dl-head-right .sep { margin: 0 6px; opacity: 0.5; }
.dl-head-right .cur { color: var(--accent-gold); }

/* 主卡片容器 */
.dl-card {
    background: rgba(13, 20, 37, 0.85);
    border: 1px solid var(--border-subtle);
    backdrop-filter: blur(4px);
    padding: 26px 32px 32px;
}

/* 帮助提示 */
.dl-help {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--accent-red);
    font-size: 14px;
    font-weight: 700;
    border-bottom: 1px solid var(--accent-red);
    padding-bottom: 4px;
    margin-bottom: 24px;
    transition: opacity .2s;
}
.dl-help:hover { opacity: 0.8; }
.dl-help-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px; height: 18px;
    border: 1.5px solid var(--accent-red);
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
}

/* 单个客户端块 */
.dl-block {
    padding: 22px 0 26px;
    border-bottom: 1px solid var(--border-subtle);
}
.dl-block:last-of-type { border-bottom: none; }

.dl-block-tit {
    color: var(--text-primary);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 1px;
    border-left: 4px solid var(--accent-gold);
    padding-left: 12px;
    margin-bottom: 18px;
    line-height: 1.2;
}

.dl-block-meta {
    list-style: none;
    display: flex;
    gap: 56px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    padding-left: 16px;
}
.dl-block-meta span { color: var(--text-muted); font-size: 13px; }
.dl-block-meta b {
    color: var(--accent-gold);
    font-size: 13px;
    font-weight: 700;
    font-family: Consolas, monospace;
}

.dl-block-md5 {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 22px 16px;
    flex-wrap: wrap;
}
.dl-md5-tag {
    padding: 3px 10px;
    background: rgba(192, 57, 43, 0.10);
    border: 1px solid rgba(192, 57, 43, 0.4);
    color: var(--accent-red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    border-radius: 3px;
}
.dl-block-md5 code {
    color: var(--text-secondary);
    font-family: Consolas, monospace;
    font-size: 13px;
    letter-spacing: 1px;
    word-break: break-all;
}

/* 下载按钮组（彩色卡片） */
.dl-btn-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-left: 16px;
    max-width: 720px;
}
.dl-bbtn {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 90px;
    padding: 14px;
    color: #fff;
    text-align: center;
    overflow: hidden;
    transition: transform .25s, box-shadow .25s;
}
.dl-bbtn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 50%);
    pointer-events: none;
}
.dl-bbtn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0,0,0,0.4);
}

.dl-bbtn-local  { background: linear-gradient(135deg, #d04428, #b8351b); }
.dl-bbtn-xunlei { background: linear-gradient(135deg, #4a7ab8, #345d96); }
.dl-bbtn-green  { background: linear-gradient(135deg, #3aa86b, #28854f); }

.dl-bbtn-ico {
    width: 38px; height: 38px;
    margin-bottom: 6px;
    background: rgba(255,255,255,0.15);
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.dl-bbtn-ico svg { width: 22px; height: 22px; display: block; }
.dl-bbtn-text { font-size: 15px; font-weight: 700; letter-spacing: 4px; }

/* 其他组件下载 */
.dl-extras { margin-top: 32px; }
.dl-extras-tit, .dl-config-tit {
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 2px;
    border-left: 3px solid var(--accent-gold);
    padding-left: 10px;
    margin-bottom: 16px;
    line-height: 1;
}
.dl-extras-list {
    list-style: none;
    border: 1px solid var(--border-subtle);
}
.dl-extras-list li {
    display: grid;
    grid-template-columns: 200px 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 14px 18px;
    border-bottom: 1px solid var(--border-subtle);
    font-size: 13px;
}
.dl-extras-list li:last-child { border-bottom: none; }
.dl-extras-list li:nth-child(even) { background: rgba(255,255,255,0.015); }
.dle-name { color: var(--text-primary); font-weight: 700; }
.dle-desc { color: var(--text-secondary); }
.dle-links { display: flex; gap: 14px; }
.dle-links a {
    color: var(--accent-gold);
    border: 1px solid var(--accent-gold);
    padding: 4px 12px;
    font-size: 12px;
    transition: all .2s;
}
.dle-links a:hover {
    background: var(--accent-gold);
    color: var(--bg-deep);
}

/* 推荐配置表 */
.dl-config { margin-top: 32px; }
.dl-config-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}
.dl-config-table th,
.dl-config-table td {
    padding: 12px 16px;
    border: 1px solid var(--border-subtle);
    text-align: center;
    color: var(--text-secondary);
}
.dl-config-table thead th {
    background: rgba(201, 162, 39, 0.10);
    color: var(--accent-gold);
    font-weight: 700;
    letter-spacing: 1px;
}
.dl-config-table tbody th {
    background: rgba(255,255,255,0.025);
    color: var(--text-primary);
    font-weight: 700;
    width: 100px;
}
.dl-config-table tbody tr:hover td { background: rgba(201, 162, 39, 0.04); }

@media (max-width: 720px) {
    .dl-btn-row { grid-template-columns: 1fr; }
    .dl-extras-list li { grid-template-columns: 1fr; gap: 6px; }
    .dl-block-meta { gap: 18px; }
    .dl-page-head { flex-direction: column; gap: 8px; align-items: flex-start; }
}

/* ========================================
   领奖平台 (prize.php) — 暗黑奇幻主题
   ======================================== */
.prize-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 84px 24px 60px;
}

/* 顶部 */
.prize-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 6px 0 18px;
    border-bottom: 1px solid var(--border-subtle);
    margin-bottom: 28px;
}
.ph-left { display: flex; flex-direction: column; gap: 2px; }
.ph-en {
    color: var(--accent-red);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
}
.ph-cn {
    color: var(--accent-red);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 4px;
    line-height: 1;
}
.ph-right { color: var(--text-muted); font-size: 13px; }
.ph-right a { color: var(--text-secondary); }
.ph-right a:hover { color: var(--accent-gold); }
.ph-right .sep { margin: 0 6px; opacity: 0.5; }
.ph-right .cur { color: var(--accent-gold); }

/* Tab 切换 */
.prize-switch {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 28px;
}
.ps-tab {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px 28px;
    background: linear-gradient(135deg, rgba(13,20,37,0.92), rgba(18,26,46,0.92));
    border: 1px solid var(--border-subtle);
    overflow: hidden;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.ps-tab:hover {
    transform: translateY(-2px);
    border-color: var(--accent-gold);
    box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.ps-tab.active {
    border-color: var(--accent-gold);
    background: linear-gradient(135deg, rgba(45,32,8,0.65), rgba(13,20,37,0.92));
}
.ps-tab.active::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(201,162,39,0.18), transparent 70%);
    pointer-events: none;
}

.ps-ico {
    width: 96px;
    height: 80px;
    flex-shrink: 0;
    background-image: url('../img/prize/lg_btn.png');
    background-repeat: no-repeat;
    background-size: auto 160px;
    background-position: center 0;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.4));
    transition: transform .3s, filter .3s;
}
.ps-ico-coin { background-position: center 2px; }      /* 上半：游戏道具领奖 */
.ps-ico-gift { background-position: center -78px; }    /* 下半：实物周边领奖 */
.ps-tab:hover .ps-ico { transform: scale(1.08); }
.ps-tab.active .ps-ico {
    filter: drop-shadow(0 2px 12px rgba(201,162,39,0.6));
    transform: scale(1.05);
}

.ps-text { display: flex; flex-direction: column; gap: 4px; }
.ps-t1 {
    color: var(--text-primary);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 2px;
}
.ps-t2 {
    color: var(--text-muted);
    font-size: 11px;
    letter-spacing: 3px;
}
.ps-tab.active .ps-t1 { color: var(--accent-gold); }

/* 卡片 */
.prize-cards { position: relative; }
.prize-card {
    display: none;
    background: rgba(13, 20, 37, 0.85);
    border: 1px solid var(--border-subtle);
    backdrop-filter: blur(4px);
    padding: 32px 40px;
}
.prize-card.active { display: block; animation: fadeInUp .35s ease; }

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Step */
.pc-step {
    padding: 18px 0;
    border-bottom: 1px dashed var(--border-subtle);
}
.pc-step:last-child { border-bottom: none; }

.ps-num {
    display: inline-flex;
    align-items: baseline;
    color: var(--accent-gold);
    font-family: 'Noto Serif SC', serif;
    font-weight: 900;
    margin-right: 10px;
}
.ps-num .s { font-size: 26px; }
.ps-num .t { font-size: 18px; }

.ps-desc {
    display: inline;
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
}

.ps-input-row {
    margin: 14px 0 4px 60px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.ps-input-row.vertical { flex-direction: column; align-items: flex-start; }

.prize-select,
.prize-input {
    height: 40px;
    line-height: 40px;
    padding: 0 14px;
    background: rgba(0,0,0,0.35);
    border: 1px solid var(--border-subtle);
    color: var(--text-primary);
    font-size: 14px;
    transition: border-color .2s, box-shadow .2s;
    outline: none;
}
.prize-select { width: 220px; cursor: pointer; }
.prize-input  { width: 420px; }
.prize-input.small { width: 220px; }

.prize-select:focus,
.prize-input:focus {
    border-color: var(--accent-gold);
    box-shadow: 0 0 0 2px rgba(201,162,39,0.18);
}
.prize-input::placeholder { color: var(--text-muted); }

.prize-link {
    color: var(--accent-red);
    font-size: 13px;
    transition: opacity .2s;
}
.prize-link:hover { opacity: 0.8; }

.prize-btn {
    display: inline-block;
    padding: 12px 56px;
    background: linear-gradient(135deg, var(--accent-gold), #b8941d);
    color: var(--bg-deep);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 6px;
    transition: transform .25s, box-shadow .25s;
}
.prize-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(201,162,39,0.45);
}

/* 须知 */
.prize-notice {
    margin-top: 28px;
    padding: 22px 28px;
    background: rgba(13, 20, 37, 0.85);
    border: 1px solid var(--border-subtle);
    backdrop-filter: blur(4px);
}
.pn-tit {
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 2px;
    border-left: 3px solid var(--accent-gold);
    padding-left: 10px;
    margin-bottom: 14px;
    line-height: 1;
}
.pn-list {
    list-style: decimal;
    margin-left: 22px;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 2;
}
.pn-list b { color: var(--accent-gold); }
.pn-link {
    color: var(--accent-gold);
    border-bottom: 1px solid var(--accent-gold);
    padding: 0 2px;
    transition: opacity .2s;
}
.pn-link:hover { opacity: 0.75; }

/* 登录弹窗 */
.prize-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
}
.prize-modal.show { display: flex; }
.pm-mask {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.7);
    backdrop-filter: blur(2px);
}
.pm-box {
    position: relative;
    width: 420px;
    padding: 32px 36px;
    background: linear-gradient(160deg, #161e34, #0d1425);
    border: 1px solid var(--accent-gold);
    box-shadow: 0 20px 60px rgba(0,0,0,0.6),
                0 0 30px rgba(201,162,39,0.15) inset;
    animation: fadeInUp .25s ease;
}
.pm-close {
    position: absolute;
    top: 10px; right: 16px;
    color: var(--text-muted);
    font-size: 26px;
    cursor: pointer;
    line-height: 1;
    transition: color .2s, transform .2s;
}
.pm-close:hover { color: var(--accent-gold); transform: rotate(90deg); }

.pm-tit {
    color: var(--accent-gold);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 3px;
    text-align: center;
    margin-bottom: 22px;
}
.pm-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.pm-row label {
    width: 56px;
    color: var(--text-secondary);
    font-size: 13px;
    text-align: right;
}
.pm-row input {
    flex: 1;
    height: 36px;
    padding: 0 12px;
    background: rgba(0,0,0,0.4);
    border: 1px solid var(--border-subtle);
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
}
.pm-row input:focus { border-color: var(--accent-gold); }

.pm-vcode {
    padding: 6px 12px;
    background: rgba(201,162,39,0.10);
    border: 1px solid var(--accent-gold);
    color: var(--accent-gold);
    font-family: Consolas, monospace;
    font-size: 14px;
    letter-spacing: 4px;
    user-select: none;
    cursor: pointer;
}

.pm-box .prize-btn {
    display: block;
    width: 100%;
    margin-top: 18px;
    text-align: center;
    padding: 12px 0;
}

@media (max-width: 720px) {
    .prize-switch { grid-template-columns: 1fr; }
    .prize-input,
    .prize-input.small,
    .prize-select { width: 100%; }
    .ps-input-row { margin-left: 0; }
}

/* 旧版兼容（保留） */
.dl-two-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin-bottom: 60px;
}
.dl-big-card {
    position: relative;
    padding: 40px 36px 36px;
    background: linear-gradient(160deg, rgba(13,20,37,0.92), rgba(18,26,46,0.92));
    border: 1px solid var(--border-subtle);
    backdrop-filter: blur(4px);
    overflow: hidden;
    transition: transform .3s, border-color .3s, box-shadow .3s;
}
.dl-big-card:hover {
    transform: translateY(-4px);
    border-color: var(--accent-gold);
    box-shadow: 0 12px 36px rgba(0,0,0,0.4);
}
.dl-big-card.is-main {
    border-color: var(--accent-gold);
    background: linear-gradient(160deg, rgba(45,32,8,0.55), rgba(13,20,37,0.92));
}
.dl-big-card.is-main::before {
    content: "";
    position: absolute;
    top: -60px; right: -60px;
    width: 220px; height: 220px;
    background: radial-gradient(circle, rgba(201,162,39,0.15), transparent 70%);
    pointer-events: none;
}

.dlb-tag {
    font-family: 'Noto Serif SC', serif;
    font-size: 92px;
    font-weight: 900;
    line-height: 1;
    color: var(--accent-gold);
    text-shadow: 0 0 30px rgba(201,162,39,0.35);
    letter-spacing: -4px;
    margin-bottom: 4px;
}
.dl-big-card:not(.is-main) .dlb-tag {
    color: var(--text-secondary);
    text-shadow: none;
    opacity: 0.85;
}

.dlb-badge {
    display: inline-block;
    padding: 4px 14px;
    background: var(--accent-red);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 14px;
}
.dl-big-card.is-main .dlb-badge { background: var(--accent-gold); color: var(--bg-deep); }

.dlb-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 6px;
    letter-spacing: 1px;
}
.dlb-sub {
    color: var(--text-muted);
    font-size: 13px;
    letter-spacing: 1px;
    margin-bottom: 22px;
}

.dlb-meta {
    list-style: none;
    margin-bottom: 28px;
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    padding: 6px 0;
}
.dlb-meta li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    font-size: 13px;
    border-bottom: 1px dashed var(--border-subtle);
}
.dlb-meta li:last-child { border-bottom: none; }
.dlb-meta span { color: var(--text-muted); letter-spacing: 1px; }
.dlb-meta b {
    color: var(--text-secondary);
    font-weight: 500;
    font-family: Consolas, 'Noto Sans SC', sans-serif;
}

.dlb-btn {
    display: block;
    text-align: center;
    padding: 14px;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    color: var(--text-primary);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 4px;
    transition: all .25s;
}
.dlb-btn:hover {
    background: var(--accent-gold);
    border-color: var(--accent-gold);
    color: var(--bg-deep);
}
.dl-big-card.is-main .dlb-btn {
    background: linear-gradient(135deg, var(--accent-gold), #b8941d);
    border-color: var(--accent-gold);
    color: var(--bg-deep);
}
.dl-big-card.is-main .dlb-btn:hover {
    box-shadow: 0 6px 24px var(--accent-gold-glow);
    transform: translateY(-1px);
}

@media (max-width: 720px) {
    .dl-two-grid { grid-template-columns: 1fr; }
}

/* ===== 下载横幅 ===== */
.download-banner {
    padding: 60px 48px;
    background: linear-gradient(135deg, rgba(201,162,39,0.03), rgba(74,122,184,0.04));
    border-top: 1px solid var(--border-subtle);
}

.dl-banner-inner {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.dl-banner-text h2 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 6px;
}

.dl-banner-text p {
    font-size: 13px;
    color: var(--text-muted);
}

/* ===== 响应式 ===== */
@media (max-width: 992px) {
    .navbar { padding: 0 24px; }
    .nav-links { display: none; }
    .news-layout { grid-template-columns: 1fr; }
    .news-grid-3 { grid-template-columns: 1fr; }
    .features-grid { grid-template-columns: repeat(2, 1fr); }
    .download-grid { grid-template-columns: 1fr; }
    .footer-content { grid-template-columns: 1fr 1fr; }
    .version-gate { flex-direction: column; }
    .version-gate-img { width: 100%; height: 200px; }
    .hero { padding-left: 24px; padding-right: 24px; }
    .hero-title { font-size: 48px; }
    .hero-meta { display: none; }
    .admin-sidebar { width: 180px; }
    .admin-main { margin-left: 180px; padding: 24px; }

    .home-layout { grid-template-columns: 1fr; padding: 0 16px; }
    .qit_side { display: none; }
    .home-main { padding: 20px 0; }
    .row-banner-news { grid-template-columns: 1fr; }
    .row-guide-version { grid-template-columns: 1fr; }
    .media-grid { grid-template-columns: 1fr 1fr; }
    .dl-banner-inner { flex-direction: column; text-align: center; }
}

/* ============================================================
   后台 · 发帖表单（论坛式）
   ============================================================ */
.post-card {
    background: linear-gradient(160deg, rgba(22,30,52,0.85), rgba(13,20,37,0.9));
    border: 1px solid var(--border-subtle);
    border-radius: 4px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.35);
    width: 83.333%;
    margin-left: 0;
    margin-right: auto;
}
.post-card-head {
    padding: 14px 22px;
    background: rgba(255,255,255,0.03);
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-secondary);
    font-size: 14px;
    letter-spacing: 1px;
}
.post-card form { padding: 18px 22px 24px; }

.post-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 14px;
    margin-bottom: 10px;
    background: rgba(0,0,0,0.25);
    border: 1px solid var(--border-subtle);
    border-radius: 3px;
}
.post-row-label {
    flex: 0 0 92px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 700;
}

/* 板块标签组（横向） */
.post-cat-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex: 1;
}
.post-cat-tab {
    position: relative;
    padding: 5px 18px;
    font-size: 13px;
    color: var(--text-secondary);
    background: rgba(255,255,255,0.04);
    border: 1px solid transparent;
    border-radius: 2px;
    cursor: pointer;
    transition: all .2s;
    user-select: none;
}
.post-cat-tab input { display: none; }
.post-cat-tab:hover { color: var(--accent-gold); border-color: rgba(201,162,39,0.4); }
.post-cat-tab.active {
    color: #0d1425;
    background: linear-gradient(180deg, #e2c156, var(--accent-gold));
    border-color: var(--accent-gold);
    font-weight: 700;
    box-shadow: 0 0 12px rgba(201,162,39,0.35);
}

/* 标题输入框 */
.post-title-input {
    flex: 1;
    height: 34px;
    padding: 0 12px;
    background: rgba(0,0,0,0.4);
    border: 1px solid var(--border-subtle);
    color: var(--text-primary);
    font-size: 14px;
    outline: none;
    border-radius: 2px;
    transition: border-color .2s, box-shadow .2s;
}
.post-title-input:focus {
    border-color: var(--accent-gold);
    box-shadow: 0 0 0 2px rgba(201,162,39,0.15);
}

/* 工具按钮行 */
.post-toolbar-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 14px 0 0;
}
.post-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    background: linear-gradient(180deg, #2da34c, #1f7a37);
    border: none;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    cursor: pointer;
    border-radius: 2px;
    transition: filter .2s, transform .15s;
}
.post-link-btn:hover { filter: brightness(1.1); transform: translateY(-1px); }

/* 帖子封面预览 */
.post-cover-preview {
    position: relative;
    display: inline-block;
    margin-left: 10px;
    border: 1px solid var(--border-subtle);
    border-radius: 3px;
    overflow: hidden;
    background: rgba(0,0,0,0.4);
}
.post-cover-preview img {
    display: block;
    height: 36px;
    max-width: 100px;
    object-fit: cover;
}
.post-cover-clear {
    position: absolute;
    top: 0;
    right: 0;
    width: 16px;
    height: 16px;
    line-height: 14px;
    font-size: 14px;
    text-align: center;
    color: #fff;
    background: rgba(192,0,0,0.85);
    border: none;
    cursor: pointer;
    border-radius: 0 0 0 3px;
}
.post-cover-clear:hover { background: #c00000; }
.post-toolbar-extras {
    display: flex;
    align-items: center;
    gap: 18px;
}
.post-extras-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--text-secondary);
    font-size: 12px;
}
.post-extras-item input[type="date"] {
    height: 28px;
    padding: 0 8px;
    background: rgba(0,0,0,0.4);
    border: 1px solid var(--border-subtle);
    color: var(--text-primary);
    font-size: 12px;
    outline: none;
    border-radius: 2px;
    color-scheme: dark;
}
.post-extras-check { cursor: pointer; }
.post-extras-check input { accent-color: var(--accent-gold); }

/* 编辑器外框 */
.post-editor-wrap {
    margin-top: 12px;
    border: 1px solid var(--border-subtle);
    border-radius: 2px;
    background: rgba(0,0,0,0.35);
}

/* ============================================================
   wangEditor v4 暗黑主题覆盖
   ============================================================ */
/* 工具栏外框 */
#editor-toolbar {
    background: #1a2238;
    border: none !important;
    border-bottom: 1px solid var(--border-subtle) !important;
    position: sticky;
    top: 0;
    /* 必须高于 wangEditor 内部所有弹层（v4 内部用 10001~10005），否则下拉菜单会被困在堆叠上下文里 */
    z-index: 10100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}
/* wangEditor 的拖拽 / tooltip / 下拉弹层都要可见 */
#editor-toolbar .w-e-droplist,
#editor-toolbar .w-e-panel-container,
#editor-toolbar .w-e-menu .w-e-droplist {
    z-index: 10110 !important;
}
/* 表格 tooltip 是 append 到 body 的，需要全局选择器提级 */
.w-e-menu-tooltip,
.w-e-tooltip,
.w-e-text-container .w-e-tooltip {
    z-index: 10110 !important;
}
#editor-toolbar .w-e-toolbar {
    background-color: transparent !important;
    border: none !important;
    flex-wrap: wrap;
    padding: 4px 6px !important;
}
/* 每个菜单按钮 */
#editor-toolbar .w-e-toolbar .w-e-menu {
    background-color: transparent !important;
    transition: background .15s;
}
/* 仅覆盖菜单按钮图标本身，避免污染下拉内容 */
#editor-toolbar .w-e-toolbar .w-e-menu > a > i,
#editor-toolbar .w-e-toolbar .w-e-menu > i {
    color: #b8c0d4 !important;
}
#editor-toolbar .w-e-toolbar .w-e-menu:hover,
#editor-toolbar .w-e-toolbar .w-e-menu.w-e-active {
    background-color: rgba(201,162,39,0.12) !important;
}
#editor-toolbar .w-e-toolbar .w-e-menu:hover > a > i,
#editor-toolbar .w-e-toolbar .w-e-menu:hover > i,
#editor-toolbar .w-e-toolbar .w-e-menu.w-e-active > a > i,
#editor-toolbar .w-e-toolbar .w-e-menu.w-e-active > i {
    color: var(--accent-gold) !important;
}
/* 工具栏分隔条 */
#editor-toolbar .w-e-toolbar .w-e-menu .w-e-icon-undo,
#editor-toolbar .w-e-toolbar .w-e-menu .w-e-icon-redo {
    color: inherit !important;
}

/* 内容区：默认 280px，跟随内容自动撑高 */
#editor-area {
    background: transparent !important;
    border: none !important;
    min-height: 280px;
}
#editor-area .w-e-text-container {
    background: transparent !important;
    border: none !important;
    height: auto !important;
    min-height: 280px !important;
}
#editor-area .w-e-text-container .w-e-text {
    background: transparent !important;
    color: var(--text-primary) !important;
    padding: 14px 16px !important;
    font-size: 14px;
    line-height: 1.8;
    height: auto !important;
    min-height: 280px !important;
    max-height: none !important;
    overflow-y: visible !important;
}
#editor-area .w-e-text p,
#editor-area .w-e-text div {
    margin: 0 0 10px;
}
#editor-area .w-e-text p:last-child { margin-bottom: 0; }
#editor-area .w-e-text h1 { font-size: 22px; margin: 14px 0 10px; color: var(--text-primary); }
#editor-area .w-e-text h2 { font-size: 19px; margin: 12px 0 9px;  color: var(--text-primary); }
#editor-area .w-e-text h3 { font-size: 17px; margin: 10px 0 8px;  color: var(--text-primary); }
#editor-area .w-e-text h4 { font-size: 15px; margin: 9px 0 7px;   color: var(--text-primary); }
#editor-area .w-e-text h5 { font-size: 14px; margin: 8px 0 6px;   color: var(--text-primary); }
#editor-area .w-e-text ul,
#editor-area .w-e-text ol { margin: 8px 0 12px; padding-left: 28px; }
#editor-area .w-e-text li { margin: 4px 0; }
#editor-area .w-e-text blockquote {
    margin: 10px 0;
    padding: 8px 14px;
    border-left: 3px solid var(--accent-gold);
    background: rgba(201,162,39,0.06);
    color: var(--text-secondary);
}
#editor-area .w-e-text table {
    border-collapse: collapse;
    margin: 10px 0;
}
#editor-area .w-e-text td,
#editor-area .w-e-text th {
    border: 1px solid var(--border-subtle);
    padding: 6px 10px;
    min-width: 60px;
}
/* 占位符 */
#editor-area .w-e-text-container .placeholder {
    color: var(--text-muted) !important;
    font-style: normal !important;
}

/* 弹出下拉（标题/字号/字色/表情/对齐 等） */
.w-e-droplist {
    background: #161e34 !important;
    border: 1px solid var(--accent-gold) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,0.55) !important;
}
.w-e-droplist .w-e-dp-title {
    border-bottom: 1px solid var(--border-subtle) !important;
    color: var(--text-secondary) !important;
}
.w-e-droplist .w-e-list .w-e-item:hover,
.w-e-droplist .w-e-block .w-e-item:hover {
    background: rgba(201,162,39,0.15) !important;
    color: var(--accent-gold) !important;
}

/* 弹窗（链接 / 表格 / 图片 等） */
.w-e-panel-container {
    background: #161e34 !important;
    border: 1px solid var(--accent-gold) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 8px 28px rgba(0,0,0,0.6) !important;
}
.w-e-panel-container .w-e-panel-tab-title .w-e-active {
    color: var(--accent-gold) !important;
    border-bottom-color: var(--accent-gold) !important;
}
.w-e-panel-container input[type="text"],
.w-e-panel-container input[type="number"],
.w-e-panel-container textarea {
    background: rgba(0,0,0,0.4) !important;
    border: 1px solid var(--border-subtle) !important;
    color: var(--text-primary) !important;
    padding: 6px 10px !important;
}
.w-e-panel-container input[type="text"]:focus,
.w-e-panel-container input[type="number"]:focus,
.w-e-panel-container textarea:focus {
    border-color: var(--accent-gold) !important;
    outline: none !important;
}
.w-e-panel-container .w-e-btn,
.w-e-panel-container button {
    background: var(--accent-gold) !important;
    color: #0d1425 !important;
    border: none !important;
    padding: 4px 14px !important;
    cursor: pointer;
    border-radius: 2px;
}
.w-e-panel-container .w-e-btn:hover,
.w-e-panel-container button:hover {
    filter: brightness(1.1);
}
.w-e-panel-container .w-e-icon-close {
    color: var(--text-muted) !important;
}
.w-e-panel-container .w-e-icon-close:hover {
    color: var(--accent-gold) !important;
}

/* 表情面板 */
.w-e-droplist .w-e-emoticon-container .w-e-item {
    background: transparent !important;
}
/* 颜色面板：把图标渲染成纯色方块 */
.w-e-droplist .w-e-block {
    padding: 8px !important;
}
.w-e-droplist .w-e-block .w-e-item {
    width: 22px !important;
    height: 22px !important;
    margin: 3px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 2px !important;
    box-sizing: border-box;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: pointer;
}
.w-e-droplist .w-e-block .w-e-item i {
    width: 100% !important;
    height: 100% !important;
    background-color: currentColor !important;
    font-size: 0 !important;
    line-height: 0 !important;
    display: block !important;
}
.w-e-droplist .w-e-block .w-e-item i::before,
.w-e-droplist .w-e-block .w-e-item i::after {
    display: none !important;
    content: none !important;
}
.w-e-droplist .w-e-block .w-e-item:hover {
    border-color: var(--accent-gold) !important;
    box-shadow: 0 0 0 1px var(--accent-gold);
    transform: scale(1.1);
}

/* ============================================================
   表格炫酷交互特效
   ============================================================ */
#editor-area .w-e-text table {
    border-collapse: separate !important;
    border-spacing: 0;
    overflow: hidden;
    border-radius: 4px;
    transition: box-shadow .4s ease, transform .4s ease;
    position: relative;
    /* 待机：金色边框呼吸光晕 */
    animation: tableIdleBreath 4.5s ease-in-out infinite;
}
@keyframes tableIdleBreath {
    0%, 100% {
        box-shadow:
            0 0 0 1px rgba(201,162,39,0.18),
            0 0 8px rgba(201,162,39,0.06);
    }
    50% {
        box-shadow:
            0 0 0 1px rgba(201,162,39,0.32),
            0 0 16px rgba(201,162,39,0.18);
    }
}
/* 待机：缓慢横向扫光（类似法阵能量流动） */
#editor-area .w-e-text table::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        110deg,
        transparent 0%,
        transparent 35%,
        rgba(201,162,39,0.08) 50%,
        transparent 65%,
        transparent 100%
    );
    background-size: 250% 100%;
    pointer-events: none;
    animation: tableIdleSweep 7s linear infinite;
    z-index: 1;
    mix-blend-mode: screen;
}
@keyframes tableIdleSweep {
    0%   { background-position: 130% 0; }
    100% { background-position: -130% 0; }
}

/* Hover：停止呼吸 / 缓扫，切换为强烈金色光晕 + 抬升 */
#editor-area .w-e-text table:hover {
    animation: none;
    box-shadow:
        0 0 0 1px rgba(201,162,39,0.5),
        0 0 24px rgba(201,162,39,0.3),
        0 0 60px rgba(201,162,39,0.18),
        0 10px 30px rgba(0,0,0,0.6);
    transform: translateY(-2px);
}
#editor-area .w-e-text table:hover::before {
    animation: tableHoverPulse 1.8s ease-in-out infinite;
    background: linear-gradient(
        110deg,
        transparent 0%,
        rgba(201,162,39,0.18) 50%,
        transparent 100%
    );
    background-size: 200% 100%;
    mix-blend-mode: screen;
}
@keyframes tableHoverPulse {
    0%   { background-position: 130% 0; opacity: 0.7; }
    50%  { opacity: 1; }
    100% { background-position: -130% 0; opacity: 0.7; }
}

/* 单元格基础动效 */
#editor-area .w-e-text td,
#editor-area .w-e-text th {
    transition: background-color .25s ease, color .25s ease, box-shadow .25s ease;
}
/* 行 hover：金色微光从左滑过的高亮 */
#editor-area .w-e-text tbody tr {
    transition: background .3s ease;
    position: relative;
}
#editor-area .w-e-text tbody tr:hover > td {
    background: linear-gradient(
        90deg,
        rgba(201,162,39,0.04) 0%,
        rgba(201,162,39,0.16) 45%,
        rgba(201,162,39,0.04) 100%
    ) !important;
    color: #ffe9a7 !important;
}
/* 单个单元格 hover：金色下划线 */
#editor-area .w-e-text td:hover {
    box-shadow: inset 0 -2px 0 0 var(--accent-gold);
}

/* 表头流光动画（仅当用户用了默认绿底或自定义带 data-default-header 时增强） */
#editor-area .w-e-text th {
    position: relative;
    overflow: hidden;
}
#editor-area .w-e-text th::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255,255,255,0.18) 50%,
        transparent 100%
    );
    transform: skewX(-20deg);
    pointer-events: none;
}
#editor-area .w-e-text table:hover th::before {
    animation: tableHeaderShine 2.4s ease-in-out infinite;
}
@keyframes tableHeaderShine {
    0%   { left: -100%; }
    60%  { left: 130%; }
    100% { left: 130%; }
}

/* 单元格被聚焦（点击）时金色内发光 */
#editor-area .w-e-text td:focus,
#editor-area .w-e-text th:focus,
#editor-area .w-e-text td.focused,
#editor-area .w-e-text th.focused {
    outline: none;
    box-shadow:
        inset 0 0 0 1px var(--accent-gold),
        inset 0 0 12px rgba(201,162,39,0.35);
    background-color: rgba(201,162,39,0.06) !important;
}

/* 列宽拖拽：靠近右边缘显示金色提示线 */
#editor-area .w-e-text td,
#editor-area .w-e-text th {
    position: relative;
}
#editor-area .w-e-text td[data-resizing]::after,
#editor-area .w-e-text th[data-resizing]::after {
    content: '';
    position: absolute;
    top: 0;
    right: -1px;
    width: 2px;
    height: 100%;
    background: var(--accent-gold);
    pointer-events: none;
}

/* 表格 tooltip 扩展按钮 */
.w-e-tooltip-extra {
    display: inline-block;
    margin-left: 6px;
    padding: 0 8px;
    font-size: 12px;
    line-height: 22px;
    color: var(--accent-gold) !important;
    border: 1px solid rgba(201,162,39,0.4);
    border-radius: 2px;
    text-decoration: none !important;
    cursor: pointer;
    transition: background .15s;
}
.w-e-tooltip-extra:hover {
    background: rgba(201,162,39,0.15);
}

/* 表头颜色浮窗（网格） */
.w-e-tooltip-color-panel {
    position: absolute;
    z-index: 10001;
    display: grid;
    grid-template-columns: repeat(12, 22px);
    gap: 4px;
    padding: 10px 12px;
    background: #161e34;
    border: 1px solid var(--accent-gold);
    border-radius: 3px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.6);
    max-width: 340px;
}
.w-e-tooltip-color-panel span {
    width: 22px;
    height: 22px;
    border-radius: 2px;
    cursor: pointer;
    border: 1px solid rgba(255,255,255,0.15);
    transition: transform .15s, border-color .15s;
    box-sizing: border-box;
}
.w-e-tooltip-color-panel span:hover {
    transform: scale(1.15);
    border-color: var(--accent-gold);
}
.w-e-tooltip-color-close {
    grid-column: 12;
    grid-row: 1;
    width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    color: var(--text-muted);
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    border: 1px solid transparent !important;
    background: transparent !important;
    cursor: pointer;
    justify-self: end;
}
.w-e-tooltip-color-close:hover {
    color: var(--accent-gold);
    transform: none !important;
}

/* 自定义「源代码」切换按钮 */
.src-toggle-btn {
    height: 30px;
    min-width: 36px;
    padding: 0 10px;
    margin: 4px 4px 4px 6px;
    background: transparent;
    border: 1px solid transparent;
    color: #b8c0d4;
    font-family: Consolas, Menlo, monospace;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    border-radius: 3px;
    transition: all .15s;
    align-self: center;
}
.src-toggle-btn:hover {
    color: var(--accent-gold);
    background: rgba(201,162,39,0.1);
}
.src-toggle-btn.active {
    color: #0d1425;
    background: var(--accent-gold);
    border-color: var(--accent-gold);
}

/* 源代码 textarea */
.source-textarea {
    width: 100%;
    min-height: 180px;
    padding: 14px 16px;
    background: #0a1020;
    border: none;
    color: #d8dce8;
    font-family: Consolas, Menlo, monospace;
    font-size: 13px;
    line-height: 1.7;
    outline: none;
    resize: vertical;
    box-sizing: border-box;
}

.post-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 18px;
}

@media (max-width: 720px) {
    .post-row { flex-direction: column; align-items: stretch; }
    .post-row-label { flex: none; }
    .post-toolbar-row { flex-direction: column; align-items: stretch; }
}
