/*
Theme Name: EoMoGo
Theme URI: https://www.eomogo.com
Author: EoMoGo Team
Description: 心·元计划 - 现代化暗色主题，融合中国风元素，支持登录注册功能
Version: 2.0.0
Requires at least: 5.8
Tested up to: 6.7
License: GPL v2 or later
Text Domain: eomogo
*/

/* ===== 全局重置 & CSS变量 ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }

:root {
    --primary: #6c5ce7;
    --primary-dark: #5a4bd1;
    --accent: #00e6dc;
    --accent-rgb: 0, 230, 220;
    --dark: #000000;
    --dark-2: #0a0a1a;
    --text: #e0f0f0;
    --text-muted: #8888aa;
    --gradient-1: linear-gradient(135deg, #6c5ce7, #00cec9);
    --font-cn: 'STKaiti', 'KaiTi', 'SimSun', 'FangSong', serif;
}

body {
    font-family: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', var(--font-cn), sans-serif;
    background: var(--dark) !important;
    color: var(--text);
    overflow-x: hidden;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 46px;
}

/* ===== 强制覆盖 WordPress 默认样式 ===== */
html, body {
    background-color: #000000 !important;
    color-scheme: dark !important;
}

.wp-site-blocks,
.site-content,
.content-area,
.entry-content,
.post-content,
.page-content,
article,
main,
#main,
.eomogo-content {
    background-color: transparent !important;
    background: transparent !important;
    color: var(--text) !important;
}

p, h1, h2, h3, h4, h5, h6, li, span, a:not(.btn-primary):not(.btn-outline):not(.btn-admin):not(.btn-logout):not(.menu-btn-enter) {
    color: inherit;
}

.wp-block-group__inner-container,
.wp-block-cover,
.wp-block-columns,
.wp-block-column {
    background-color: transparent !important;
}

/* ============================================
   首页 - 中国风心·元计划布局 (来自 index-old.html)
   ============================================ */

/* --- 顶栏 --- */
.topbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 45px;
    border-bottom: 1px solid rgba(var(--accent-rgb), 0.15);
    z-index: 100;
}

/* --- 主容器 --- */
.main-home {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    width: 1200px;
    padding: calc(45px + 2rem) 0 2rem;
}

/* --- Logo + 品牌名区域 --- */
.logo-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    width: 100%;
    min-height: 600px;
    margin-bottom: 0;
}

.logo-main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}

.logo-circle {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    border: 3px solid rgba(var(--accent-rgb), 0.7);
    box-shadow:
        0 0 20px rgba(var(--accent-rgb), 0.25),
        0 0 50px rgba(var(--accent-rgb), 0.1),
        inset 0 0 20px rgba(var(--accent-rgb), 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    animation: circlePulse 3s ease-in-out infinite;
}
@keyframes circlePulse {
    0%, 100% {
        border-color: rgba(var(--accent-rgb), 0.6);
        box-shadow:
            0 0 15px rgba(var(--accent-rgb), 0.18),
            0 0 40px rgba(var(--accent-rgb), 0.08),
            inset 0 0 15px rgba(var(--accent-rgb), 0.04);
    }
    50% {
        border-color: rgba(var(--accent-rgb), 1);
        box-shadow:
            0 0 25px rgba(var(--accent-rgb), 0.5),
            0 0 70px rgba(var(--accent-rgb), 0.22),
            inset 0 0 30px rgba(var(--accent-rgb), 0.1);
    }
}

.logo-circle::before,
.logo-circle::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    border: 1.5px solid transparent;
}
.logo-circle::before {
    inset: 6px;
    border-top-color: rgba(255,255,255,0.2);
    animation: spin 8s linear infinite;
}
.logo-circle::after {
    inset: 14px;
    border-right-color: rgba(var(--accent-rgb), 0.15);
    animation: spin 12s linear infinite reverse;
}
@keyframes spin { to { transform: rotate(360deg); } }

.logo-text-cn {
    font-size: 150px;
    font-weight: bold;
    background: linear-gradient(180deg, #fff 0%, #ccc 60%, #888 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 8px;
    font-family: 'STXingkai', 'KaiTi', 'STKaiti', 'SimSun', serif;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
}

.brand-name {
    font-size: 63px;
    letter-spacing: 18px;
    color: #e8f0f0;
    font-weight: normal;
    font-family: var(--font-cn);
    text-shadow: 0 0 20px rgba(var(--accent-rgb), 0.3);
}

/* --- Logo 副标题（探索意识思维建模 + 渐变横线） --- */
.logo-subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 1.2rem;
    gap: 0.8rem;
}
.logo-subtitle-text {
    font-size: 20px;
    letter-spacing: 6px;
    color: #99aab0;
    white-space: nowrap;
    font-family: var(--font-cn);
}
.logo-subtitle-line {
    flex: 1;
    max-width: 200px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(var(--accent-rgb), 0.5) 40%, rgba(var(--accent-rgb), 0.5) 60%, transparent);
}

/* --- 说明文字容器 (1200x600+) --- */
.plan-intro {
    width: 1200px;
    min-height: 600px;
    height: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-align: left;
    padding: 0;
}
.intro-title {
    font-size: 1.6rem;
    color: #e0f0f0;
    font-family: var(--font-cn);
    letter-spacing: 4px;
    text-shadow: 0 0 20px rgba(var(--accent-rgb), 0.2);
    margin-bottom: 1.5rem;
    flex-shrink: 0;
}
.intro-title::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(var(--accent-rgb), 0.5), transparent);
    margin-top: 1rem;
}
.intro-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
    padding-left: 3rem;
}
.intro-section {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}
.intro-label {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--accent);
    white-space: nowrap;
    font-family: var(--font-cn);
    flex-shrink: 0;
    min-width: 4.5em;
    text-align-last: justify;
}
.intro-text {
    font-size: 1.2rem;
    color: rgba(224,240,240,0.7);
    line-height: 1.95;
    letter-spacing: 0.5px;
}
.intro-text > p {
    margin-bottom: 0.8rem;
}

/* --- 心·元计划菜单容器 --- */
.plan-menu {
    width: 1200px;
    display: flex;
    flex-direction: column;
}
.plan-menu-title {
    font-size: 1.6rem;
    color: #e0f0f0;
    font-family: var(--font-cn);
    letter-spacing: 4px;
    text-shadow: 0 0 20px rgba(var(--accent-rgb), 0.2);
    margin-bottom: 1rem;
    text-align: left;
}
.plan-menu-title::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(var(--accent-rgb), 0.5), transparent);
    margin-top: 1rem;
}
/* --- 间距容器 --- */
.plan-spacer {
    width: 1200px;
    height: 50px;
}
.plan-menu-body {
    display: flex;
    flex-direction: column;
}

/* --- 分隔线 --- */
.divider {
    width: 1200px;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(var(--accent-rgb), 0.15) 15%,
        rgba(var(--accent-rgb), 0.7) 50%,
        rgba(var(--accent-rgb), 0.15) 85%,
        transparent 100%
    );
    position: relative;
}
.divider::after {
    content: '';
    position: absolute;
    top: -1px; left: 50%; transform: translateX(-50%);
    width: 200px; height: 1px;
    background: rgb(var(--accent-rgb));
    box-shadow: 0 0 12px rgba(var(--accent-rgb), 0.6);
    animation: linePulse 3s ease-in-out infinite;
}
@keyframes linePulse {
    0%, 100% { opacity: 0.7; width: 200px; }
    50% { opacity: 1; width: 280px; }
}

/* 默认：中间分隔线呼吸条完全消失 */
.divider-extra::after { display: none; }
/* 首尾分隔线默认显示 */
.divider::after,
.menu-slot:last-of-type ~ .divider-extra::after { display: block; }
/* 激活状态：呼吸条显示 */
.divider.pulse-on::after,
.divider-extra.pulse-on::after { display: block; opacity: 1; animation-play-state: running; }
/* 隐藏状态：呼吸条完全消失 */
.divider.pulse-off::after,
.divider-extra.pulse-off::after { display: none; }

/* --- 选项容器（菜单项）--- */
.menu-slot,
.menu-half-slot {
    width: 1200px;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}
.menu-left-space {
    flex: 1.5;
    flex-shrink: 0;
}
.menu-right-space {
    flex: 1.5;
    flex-shrink: 0;
}
.menu-inner {
    display: flex;
    align-items: stretch;
    gap: 2rem;
    width: 70%;
    border: 1px solid rgba(var(--accent-rgb), 0.12);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.4s ease;
    position: relative;
    padding: 1.5rem 2rem;
}
.menu-inner:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--accent-rgb), 0.5);
    box-shadow: 0 0 12px rgba(var(--accent-rgb), 0.15);
}
.menu-inner.active {
    border-color: transparent;
    position: relative;
}
.menu-inner.active::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(
        90deg,
        rgba(var(--accent-rgb), 0.7),
        rgba(var(--accent-rgb), 0.15) 30%,
        rgba(var(--accent-rgb), 0.08) 50%,
        rgba(var(--accent-rgb), 0.15) 70%,
        rgba(var(--accent-rgb), 0.7)
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
    animation: borderGlow 2s ease-in-out infinite;
}
@keyframes borderGlow {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.6; }
}

/* 左侧图标 */
.menu-left {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 3.5;
    width: 300px;
    height: 300px;
    object-fit: contain;
}
.menu-inner:hover .menu-left {
    filter: drop-shadow(0 0 12px rgba(var(--accent-rgb), 0.45));
}

/* 竖线分隔 */
.menu-sep {
    width: 1px;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(var(--accent-rgb), 0.15) 20%,
        rgba(var(--accent-rgb), 0.5) 50%,
        rgba(var(--accent-rgb), 0.15) 80%,
        transparent 100%
    );
    position: relative;
    flex-shrink: 0;
}
.menu-sep::after {
    content: '';
    position: absolute;
    left: 0; top: 50%; transform: translateY(-50%);
    width: 1px; height: 60px;
    background: rgba(var(--accent-rgb), 0.8);
    box-shadow: 0 0 8px rgba(var(--accent-rgb), 0.5);
}

/* 右侧内容区 */
.menu-right {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    flex: 6.3;
}
.menu-sub {
    font-size: 25px;
    letter-spacing: 6px;
    color: #99aab0;
    font-family: var(--font-cn);
    line-height: 1.4;
    transition: color 0.4s;
    padding-bottom: 0.6rem;
    border-bottom: 1px solid rgba(var(--accent-rgb), 0.2);
    flex-shrink: 0;
    text-align: left;
}
.menu-inner:hover .menu-sub { color: #c0d0f0; }

.menu-desc {
    font-size: 20px;
    letter-spacing: 3px;
    color: #555666;
    font-family: var(--font-cn);
    line-height: 1.6;
    transition: color 0.4s;
    flex: 1;
    padding-top: 0.8rem;
}
.menu-inner:hover .menu-desc { color: #778899; }

/* 进入按钮区 */
.menu-action {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1.5;
    flex-shrink: 0;
    overflow: hidden;
}
.menu-btn-enter {
    display: none;
    font-size: 18px;
    letter-spacing: 6px;
    color: rgba(var(--accent-rgb), 0.85);
    border: 1px solid rgba(var(--accent-rgb), 0.6);
    padding: 8px 20px;
    border-radius: 6px;
    cursor: pointer;
    background: transparent;
    transition: all 0.3s ease;
    white-space: nowrap;
    font-family: var(--font-cn);
}
.menu-slot.has-active .menu-btn-enter {
    display: inline-block;
}
.menu-btn-enter:hover {
    background: rgba(var(--accent-rgb), 0.15);
    box-shadow: 0 0 12px rgba(var(--accent-rgb), 0.25);
    transform: scale(1.05);
}

/* 额外分隔线 */
.divider-extra {
    width: 1200px;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(var(--accent-rgb), 0.15) 15%,
        rgba(var(--accent-rgb), 0.7) 50%,
        rgba(var(--accent-rgb), 0.15) 85%,
        transparent 100%
    );
    position: relative;
}
.divider-extra::after {
    content: '';
    position: absolute;
    top: -1px; left: 50%; transform: translateX(-50%);
    width: 200px; height: 1px;
    background: rgb(var(--accent-rgb));
    box-shadow: 0 0 12px rgba(var(--accent-rgb), 0.6);
    animation: linePulse 3s ease-in-out infinite;
}

/* --- 底栏 --- */
.bottombar {
    width: 100%;
    height: 120px;
    border-top: 1px solid rgba(var(--accent-rgb), 0.15);
}

/* --- 底部光晕 --- */
.footer-glow {
    position: fixed;
    bottom: -150px;
    left: 50%;
    transform: translateX(-50%);
    width: 500px;
    height: 300px;
    background: radial-gradient(ellipse at center, rgba(var(--accent-rgb), 0.04) 0%, transparent 70%);
    pointer-events: none;
}

/* ============================================
   导航栏 (YIS3D 风格)
   ============================================ */
nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 101;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 3rem;
    background: rgba(0, 0, 0, 0.9);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(108,92,231,0.15);
    transition: background 0.3s;
}
.logo {
    font-size: 1.6rem;
    font-weight: 800;
    background: var(--gradient-1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 2px;
}
.logo-reg {
    font-size: 0.5em;
    vertical-align: super;
}
.nav-links {
    display: flex;
    gap: 2rem;
    list-style: none;
}
.nav-links a {
    color: var(--text-muted);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.3s;
    position: relative;
}
.nav-links a:hover { color: #fff; }
.nav-links a::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--gradient-1);
    transition: width 0.3s;
}
.nav-links a:hover::after { width: 100%; }
.nav-cta {
    padding: 0.55rem 1.5rem;
    border-radius: 50px;
    border: none;
    background: var(--gradient-1);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    font-size: 0.9rem;
    transition: transform 0.2s, box-shadow 0.3s;
}
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(108,92,231,0.4); }

/* ============================================
   登录/注册系统（游客+按钮容器）
   ============================================ */
.auth-area {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.auth-btns {
    display: flex;
    gap: 0.6rem;
    align-items: center;
}
.btn-login,
.btn-register-nav {
    padding: 0.45rem 1.3rem;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.3s;
    white-space: nowrap;
}
.btn-login {
    background: transparent;
    color: var(--text);
    border: 1.5px solid rgba(108,92,231,0.4);
    font-weight: 500;
}
.btn-login:hover {
    background: rgba(108,92,231,0.1);
    color: #fff;
    border-color: var(--primary);
}
.btn-register-nav {
    background: var(--gradient-1);
    color: #fff;
    font-weight: 600;
}
.btn-register-nav:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(108,92,231,0.4);
}

/* 用户已登录状态 */
.user-area {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}
/* 游客状态特殊样式 */
.user-area--guest .user-name {
    color: rgba(255,255,255,0.5);
    font-size: 0.82rem;
}
.user-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
/* 游客（未登录）- 白色 */
.user-icon--guest { stroke: #ffffff; opacity: 0.6; }

/* 订阅者 - 绿色/青色 */
.user-icon--subscriber {
    stroke: #00e6dc;
    filter: drop-shadow(0 0 4px rgba(0,230,220,0.3));
}

/* 贡献者 - 蓝色 */
.user-icon--contributor {
    stroke: #4da6ff;
    filter: drop-shadow(0 0 4px rgba(77,166,255,0.3));
}

/* 作者 - 橙色闪烁 */
.user-icon--author {
    stroke: #ff9500;
    filter: drop-shadow(0 0 6px rgba(255,149,0,0.5));
    animation: authorPulse 1.8s ease-in-out infinite;
}
@keyframes authorPulse {
    0%, 100% { opacity: 1; filter: drop-shadow(0 0 6px rgba(255,149,0,0.5)); }
    50%      { opacity: 0.45; filter: drop-shadow(0 0 2px rgba(255,149,0,0.2)); }
}

/* 编辑 - 紫色 */
.user-icon--editor {
    stroke: #a855f7;
    filter: drop-shadow(0 0 4px rgba(168,85,247,0.3));
}

/* 管理员 - 红色 */
.user-icon--administrator {
    stroke: #ef4444;
    filter: drop-shadow(0 0 4px rgba(239,68,68,0.35));
}
.user-name {
    font-size: 0.85rem;
    color: var(--text);
    max-width: 100px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.btn-logout {
    padding: 0.35rem 0.9rem;
    border-radius: 50px;
    border: 1.5px solid rgba(255,100,100,0.4);
    background: transparent;
    color: #ff8888;
    font-size: 0.78rem;
    cursor: pointer;
    transition: all 0.3s;
}
.btn-logout:hover { background: rgba(255,100,100,0.15); color: #ff6666; }

/* 后台管理按钮（仅管理员可见） */
.btn-admin {
    padding: 0.35rem 1rem;
    border-radius: 50px;
    border: 1.5px solid rgba(0,206,201,0.4);
    background: transparent;
    color: var(--accent);
    font-size: 0.78rem;
    cursor: pointer;
    transition: all 0.3s;
    text-decoration: none;
}
.btn-admin:hover { background: rgba(0,206,201,0.15); color: #fff; }

/* --- 弹窗遮罩层 --- */
.modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,0.75);
    backdrop-filter: blur(8px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}
.modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* --- 弹窗容器 --- */
.auth-modal {
    width: 420px;
    max-width: 90vw;
    background: var(--dark-2);
    border: 1px solid rgba(108,92,231,0.2);
    border-radius: 20px;
    padding: 2.5rem 2.5rem 2rem;
    transform: translateY(20px) scale(0.97);
    transition: transform 0.35s ease;
    box-shadow:
        0 25px 80px rgba(0,0,0,0.5),
        0 0 40px rgba(var(--accent-rgb), 0.05);
}
.modal-overlay.active .auth-modal {
    transform: translateY(0) scale(1);
}

/* --- 弹窗头部 --- */
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}
.modal-title {
    font-size: 1.5rem;
    font-weight: 700;
    background: var(--gradient-1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.modal-close {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.06);
    color: var(--text-muted);
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}
.modal-close:hover { background: rgba(255,100,100,0.15); color: #ff6666; }

/* --- Tab 切换 --- */
.auth-tabs {
    display: flex;
    gap: 0;
    background: rgba(108,92,231,0.08);
    border-radius: 12px;
    padding: 4px;
    margin-bottom: 1.8rem;
}
.auth-tab {
    flex: 1;
    padding: 0.55rem;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: var(--text-muted);
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
}
.auth-tab.active {
    background: var(--gradient-1);
    color: #fff;
    box-shadow: 0 4px 16px rgba(108,92,231,0.3);
}

/* --- 表单 --- */
.auth-form { display: none; }
.auth-form.active { display: block; animation: fadeInUp 0.3s ease; }
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}
.form-group { margin-bottom: 1.1rem; }
.form-group label {
    display: block;
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-bottom: 0.4rem;
    font-weight: 500;
}
.form-group input {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1.5px solid rgba(108,92,231,0.2);
    border-radius: 10px;
    background: rgba(10,10,26,0.6);
    color: var(--text);
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.3s;
}
.form-group input::placeholder { color: rgba(136,138,170,0.6); }
.form-group input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(108,92,231,0.12); }
.form-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.3rem;
}
.form-row label { font-size: 0.82rem; color: var(--text-muted); cursor: pointer; }
.form-row a { font-size: 0.82rem; color: var(--accent); text-decoration: none; }
.form-row a:hover { text-decoration: underline; }

.btn-submit {
    width: 100%;
    padding: 0.8rem;
    border: none;
    border-radius: 12px;
    background: var(--gradient-1);
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.3s;
}
.btn-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 36px rgba(108,92,231,0.4); }

/* 提示消息 */
.form-msg {
    text-align: center;
    font-size: 0.84rem;
    margin-top: 1rem;
    min-height: 1.2em;
}
.form-msg.error { color: #ff6666; }
.form-msg.success { color: var(--accent); }

/* 移动端适配 */
@media (max-width: 480px) {
    .auth-modal { width: 94vw; padding: 2rem 1.5rem 1.5rem; }
}

/* ============================================
   Footer (YIS3D 风格)
   ============================================ */
footer {
    padding: 2rem 2rem;
    text-align: center;
    border-top: 1px solid rgba(var(--accent-rgb), 0.1);
    color: var(--text-muted);
    font-size: 0.85rem;
    position: relative;
    z-index: 10;
}
.footer-beian { margin-top: 0.5rem; }
.footer-beian a {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.3s;
}
.footer-beian a:hover { color: #fff; }
.footer-beian img {
    height: 1em;
    width: auto;
    vertical-align: middle;
}
.beian-sep { margin: 0 0.4rem; opacity: 0.5; }
.footer-beian .admin-link { color: var(--accent); }
.footer-beian .admin-link:hover { color: #fff; }

/* ============================================
   内容页面通用样式
   ============================================ */
.eomogo-content {
    width: 1200px;
    margin: 8rem auto 4rem;
    padding: 3rem 2rem;
    min-height: 60vh;
    position: relative;
}

.eomogo-content::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background:
        linear-gradient(180deg, rgba(108,92,231,0.04) 0%, transparent 30%),
        radial-gradient(ellipse at 20% 20%, rgba(108,92,231,0.06), transparent 50%),
        radial-gradient(ellipse at 80% 80%, rgba(var(--accent-rgb), 0.04), transparent 50%);
    border-radius: 24px;
    z-index: -1;
}

.eomogo-content::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(108,92,231,0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(108,92,231,0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    border-radius: 24px;
    z-index: -1;
}

/* --- 单篇文章 --- */
.single-post {
    width: 1200px;
    margin: 0 auto 3rem;
    background: var(--dark-2);
    border-radius: 20px;
    border: 1px solid rgba(108,92,231,0.1);
    padding: 2.5rem;
}
.post-header { text-align: center; margin-bottom: 2.5rem; }
.post-meta { color: var(--accent); font-size: 0.88rem; margin-bottom: 1rem; }
.post-sep { margin: 0 0.6rem; opacity: 0.4; }
.post-title {
    font-size: 2.2rem; font-weight: 800; line-height: 1.3;
    background: var(--gradient-1); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.post-categories { font-size: 0.85rem; color: var(--text-muted); margin-top: 0.8rem; }
.post-categories a { color: var(--accent); text-decoration: none; }
.post-thumbnail {
    border-radius: 16px; overflow: hidden; margin-bottom: 2rem;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.post-thumbnail img { width: 100%; height: auto; display: block; }
.post-content { font-size: 1.05rem; line-height: 1.9; color: var(--text); }
.post-content h2, .post-content h3, .post-content h4 {
    margin: 2rem 0 0.8rem; color: #fff;
}
.post-content img { max-width: 100%; height: auto; border-radius: 12px; }
.post-content blockquote {
    border-left: 3px solid var(--primary); padding-left: 1.5rem;
    margin: 1.5rem 0; color: var(--text-muted); font-style: italic;
}
.post-tags { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(108,92,231,0.15); }
.tags-label { color: var(--text-muted); font-size: 0.85rem; }
.post-tags a {
    display: inline-block; padding: 0.25rem 0.75rem; margin: 0.25rem;
    background: rgba(108,92,231,0.15); border-radius: 20px;
    color: var(--accent); font-size: 0.82rem; text-decoration: none; transition: background 0.3s;
}
.post-tags a:hover { background: rgba(108,92,231,0.3); }

/* 文章导航 */
.post-navigation {
    display: flex; justify-content: space-between; gap: 1rem;
    margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(108,92,231,0.15);
}
.nav-prev a, .nav-next a { color: var(--text-muted); text-decoration: none; transition: color 0.3s; }
.nav-prev a:hover, .nav-next a:hover { color: var(--accent); }

/* --- 单页 --- */
.single-page {
    width: 1200px;
    margin: 0 auto;
    background: var(--dark-2);
    border-radius: 20px;
    border: 1px solid rgba(108,92,231,0.1);
    padding: 2.5rem;
}
.page-header { text-align: center; margin-bottom: 2.5rem; }
.page-title {
    font-size: 2.2rem; font-weight: 800;
    background: var(--gradient-1); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.page-thumbnail {
    border-radius: 16px; overflow: hidden; margin-bottom: 2rem;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.page-thumbnail img { width: 100%; height: auto; display: block; }
.page-content { font-size: 1.05rem; line-height: 1.9; color: var(--text); }
.page-children { margin-top: 3rem; padding: 2rem; background: var(--dark-2); border-radius: 16px; border: 1px solid rgba(108,92,231,0.1); }
.page-children h2 { font-size: 1.3rem; margin-bottom: 1rem; }
.page-children ul { list-style: none; padding: 0; }
.page-children li { padding: 0.5rem 0; border-bottom: 1px solid rgba(255,255,255,0.04); }
.page-children li:last-child { border: none; }
.page-children a { color: var(--text); text-decoration: none; transition: color 0.3s; }
.page-children a:hover { color: var(--accent); }

/* --- 归档页 --- */
.archive-header { text-align: center; margin-bottom: 3rem; }
.archive-title {
    font-size: 2rem; font-weight: 700;
    background: var(--gradient-1); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.archive-description { color: var(--text-muted); margin-top: 0.5rem; font-size: 1rem; }
.archive-list {
    width: 1200px;
    margin: 0 auto;
    background: var(--dark-2);
    border-radius: 20px;
    border: 1px solid rgba(108,92,231,0.1);
    padding: 2rem;
}
.archive-item {
    display: flex; gap: 1.5rem; padding: 1.5rem 0;
    border-bottom: 1px solid rgba(108,92,231,0.08); align-items: flex-start;
}
.archive-thumb { flex-shrink: 0; width: 200px; border-radius: 12px; overflow: hidden; display: block; transition: transform 0.3s; }
.archive-thumb:hover { transform: scale(1.03); }
.archive-thumb img { width: 100%; height: auto; display: block; }
.archive-info { flex: 1; min-width: 0; }
.archive-item-title { font-size: 1.2rem; font-weight: 600; margin-bottom: 0.4rem; }
.archive-item-title a { color: var(--text); text-decoration: none; }
.archive-item-title a:hover { color: var(--accent); }
.archive-meta { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 0.5rem; }
.archive-meta span { margin-right: 1rem; }
.archive-excerpt { color: var(--text-muted); font-size: 0.9rem; line-height: 1.6; }

/* --- 搜索页 --- */
.search-header { text-align: center; margin-bottom: 2.5rem; }
.search-title { font-size: 2rem; font-weight: 700; }
.search-count { color: var(--text-muted); margin: 0.5rem 0 1.5rem; }
.search-form { max-width: 500px; margin: 0 auto; display: flex; gap: 0.5rem; }
.search-form input {
    flex: 1; padding: 0.7rem 1rem; border-radius: 10px;
    border: 1.5px solid rgba(108,92,231,0.2); background: var(--dark-2);
    color: var(--text); font-size: 0.9rem; outline: none;
}
.search-form button {
    padding: 0.7rem 1.5rem; border-radius: 10px; border: none;
    background: var(--gradient-1); color: #fff; font-weight: 600; cursor: pointer;
}
.search-results {
    width: 1200px;
    margin: 0 auto;
    background: var(--dark-2);
    border-radius: 20px;
    border: 1px solid rgba(108,92,231,0.1);
    padding: 2rem;
}
.result-item { display: flex; gap: 1.2rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(108,92,231,0.08); }
.result-thumb { flex-shrink: 0; width: 120px; border-radius: 10px; overflow: hidden; }
.result-thumb img { width: 100%; height: auto; display: block; }
.result-info { flex: 1; }
.result-title { font-size: 1.15rem; font-weight: 600; margin-bottom: 0.4rem; }
.result-title a { color: var(--text); text-decoration: none; }
.result-title a:hover { color: var(--accent); }
.result-excerpt { color: var(--text-muted); font-size: 0.88rem; line-height: 1.6; margin-bottom: 0.5rem; }
.read-more { color: var(--accent); font-size: 0.85rem; text-decoration: none; font-weight: 600; }
.read-more:hover { text-decoration: underline; }

/* --- 404 页面 --- */
.error-404 {
    width: 1200px;
    margin: 0 auto;
    text-align: center; padding: 4rem;
    background: var(--dark-2);
    border-radius: 20px;
    border: 1px solid rgba(108,92,231,0.1);
}
.error-code {
    font-size: 7rem; font-weight: 900; line-height: 1;
    background: var(--gradient-1); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    opacity: 0.8;
}
.error-title { font-size: 1.8rem; margin-bottom: 0.8rem; color: #fff; }
.error-desc { color: var(--text-muted); font-size: 1.1rem; margin-bottom: 2rem; }
.error-actions { display: flex; gap: 1rem; justify-content: center; margin-bottom: 3rem; }
.error-search { max-width: 400px; margin: 0 auto; display: flex; gap: 0.5rem; }
.error-search input {
    flex: 1; padding: 0.7rem 1rem; border-radius: 10px;
    border: 1.5px solid rgba(108,92,231,0.2); background: var(--dark-2);
    color: var(--text); font-size: 0.9rem; outline: none;
}
.error-search button {
    padding: 0.7rem 1.5rem; border-radius: 10px; border: none;
    background: var(--gradient-1); color: #fff; font-weight: 600; cursor: pointer;
}
.no-results {
    width: 1200px;
    margin: 0 auto;
    text-align: center; padding: 3rem;
    color: var(--text-muted);
    background: var(--dark-2);
    border-radius: 16px;
    border: 1px solid rgba(108,92,231,0.08);
}

/* 分页 */
.pagination { display: flex; justify-content: space-between; margin-top: 3rem; padding-top: 2rem; }
.pagination .nav-prev a, .pagination .nav-next a {
    padding: 0.6rem 1.5rem; border-radius: 10px; border: 1.5px solid rgba(108,92,231,0.3);
    color: var(--text); text-decoration: none; font-size: 0.9rem; transition: all 0.3s;
}
.pagination .nav-prev a:hover, .pagination .nav-next a:hover {
    border-color: var(--accent); color: var(--accent);
}

/* --- 评论区域 --- */
.comments-area {
    width: 1200px;
    margin: 3rem auto 0;
    padding-top: 2rem;
    border-top: 1px solid rgba(108,92,231,0.15);
}
.comments-area h3 { font-size: 1.3rem; margin-bottom: 1.5rem; }
.comment-list { list-style: none; padding: 0; }
.comment-item { margin-bottom: 1.5rem; padding: 1.5rem; background: var(--dark-2); border-radius: 14px; border: 1px solid rgba(108,92,231,0.08); }
.comment-body { display: flex; gap: 1rem; }
.comment-avatar { border-radius: 50%; }
.comment-author-info { flex: 1; }
.comment-author { font-style: normal; font-weight: 700; font-size: 0.95rem; }
.comment-date { display: block; font-size: 0.78rem; color: var(--text-muted); margin-top: 0.2rem; }
.comment-reply-link { font-size: 0.8rem; color: var(--accent); text-decoration: none; margin-right: 1rem; }
.edit-link { font-size: 0.8rem; color: var(--text-muted); text-decoration: none; }
.comment-content { margin-top: 0.8rem; font-size: 0.95rem; line-height: 1.7; }
.comment-awaiting-moderation { color: #f0ad4e; font-size: 0.85rem; font-style: italic; margin-top: 0.5rem; }
.comment-form { margin-top: 2rem; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
    width: 100%; padding: 0.75rem 1rem; margin-bottom: 1rem;
    border: 1.5px solid rgba(108,92,231,0.2); border-radius: 10px;
    background: var(--dark-2); color: var(--text); font-size: 0.9rem; outline: none;
    font-family: inherit;
}
.comment-form textarea { min-height: 150px; resize: vertical; }
.comment-form input:focus,
.comment-form textarea:focus { border-color: var(--primary); }

/* --- 侧边栏 --- */
.sidebar { margin-top: 3rem; }
.widget { margin-bottom: 2rem; padding: 1.5rem; background: var(--dark-2); border-radius: 14px; border: 1px solid rgba(108,92,231,0.08); }
.widget-title {
    font-size: 1.05rem; font-weight: 700; margin-bottom: 1rem;
    padding-bottom: 0.5rem; border-bottom: 1px solid rgba(108,92,231,0.15); color: #fff;
}
.widget ul { list-style: none; padding: 0; }
.widget li { padding: 0.35rem 0; border-bottom: 1px solid rgba(255,255,255,0.03); }
.widget li:last-child { border: none; }
.widget a { color: var(--text-muted); text-decoration: none; font-size: 0.88rem; transition: color 0.3s; }
.widget a:hover { color: var(--accent); }
.widget-search form { display: flex; gap: 0.4rem; }
.widget-search input {
    flex: 1; padding: 0.55rem 0.8rem; border-radius: 8px;
    border: 1.5px solid rgba(108,92,231,0.2); background: rgba(10,10,26,0.6);
    color: var(--text); font-size: 0.85rem; outline: none;
}
.widget-search button {
    padding: 0.55rem 0.8rem; border-radius: 8px; border: none;
    background: var(--gradient-1); color: #fff; font-weight: 600; cursor: pointer; font-size: 0.85rem;
}
.tag-cloud a {
    display: inline-block; padding: 0.2rem 0.6rem; margin: 0.15rem;
    background: rgba(108,92,231,0.12); border-radius: 16px;
    color: var(--text-muted); font-size: 0.78rem; text-decoration: none; transition: all 0.3s;
}
.tag-cloud a:hover { background: rgba(108,92,231,0.3); color: var(--accent); }

/* ============================================
   博客列表 (home.php)
   ============================================ */
.home-header { text-align: center; margin-bottom: 3rem; }
.home-title {
    font-size: 2.2rem; font-weight: 800;
    background: var(--gradient-1); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.home-desc { color: var(--text-muted); margin-top: 0.5rem; font-size: 1.05rem; }
.blog-grid-wrapper {
    width: 1200px;
    margin: 0 auto;
    background: var(--dark-2);
    border-radius: 20px;
    border: 1px solid rgba(108,92,231,0.1);
    padding: 2rem;
}
.blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 2rem; }
.blog-card {
    background: var(--dark-2); border-radius: 16px;
    border: 1px solid rgba(108,92,231,0.08);
    overflow: hidden; transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
.blog-card:hover {
    transform: translateY(-6px); border-color: rgba(108,92,231,0.25);
    box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.blog-card-thumb { display: block; height: 200px; overflow: hidden; }
.blog-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.blog-card:hover .blog-card-thumb img { transform: scale(1.05); }
.blog-card-nothumb {
    width: 100%; height: 200px; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(108,92,231,0.15), rgba(0,206,201,0.1));
    font-size: 4rem; font-weight: 800;
    background: var(--gradient-1); -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.blog-card-body { padding: 1.5rem; }
.blog-card-cats { font-size: 0.78rem; margin-bottom: 0.6rem; }
.blog-card-cats a { color: var(--accent); text-decoration: none; margin-right: 0.4rem; }
.blog-card-cats a:hover { text-decoration: underline; }
.blog-card-title { font-size: 1.2rem; font-weight: 700; line-height: 1.4; margin-bottom: 0.6rem; }
.blog-card-title a { color: #fff; text-decoration: none; transition: color 0.3s; }
.blog-card-title a:hover { color: var(--accent); }
.blog-card-excerpt { color: var(--text-muted); font-size: 0.88rem; line-height: 1.6; margin-bottom: 0.8rem; }
.blog-card-meta { display: flex; gap: 0.8rem; flex-wrap: wrap; font-size: 0.78rem; color: var(--text-muted); margin-bottom: 0.8rem; }
.blog-card-link { color: var(--accent); font-size: 0.88rem; font-weight: 600; text-decoration: none; transition: all 0.3s; }
.blog-card-link:hover { color: #fff; }

/* 分类页专用 */
.cat-header .archive-count,
.tag-header .archive-count { font-size: 0.9rem; color: var(--text-muted); margin-top: 0.5rem; }
.highlight-accent { color: var(--accent); font-weight: 700; }
.sub-categories { margin-top: 1rem; display: flex; gap: 0.5rem; justify-content: center; align-items: center; flex-wrap: wrap; }
.sub-cat-label { color: var(--text-muted); font-size: 0.85rem; }
.sub-cat-tag {
    padding: 0.2rem 0.7rem; border-radius: 14px;
    background: rgba(108,92,231,0.12); color: var(--text-muted);
    font-size: 0.82rem; text-decoration: none; transition: all 0.3s;
}
.sub-cat-tag:hover { background: rgba(108,92,231,0.25); color: var(--accent); }

/* 作者页 */
.author-header {
    text-align: center; margin-bottom: 3rem; padding: 2.5rem;
    background: var(--dark-2); border-radius: 20px;
    border: 1px solid rgba(108,92,231,0.1);
}
.author-avatar-lg {
    width: 120px; height: 120px; margin: 0 auto 1rem; border-radius: 50%;
    overflow: hidden; border: 3px solid rgba(108,92,231,0.4);
}
.author-avatar-lg img { width: 100%; height: 100%; object-fit: cover; }
.author-name { font-size: 1.6rem; font-weight: 800; margin-bottom: 0.5rem; }
.author-bio { color: var(--text-muted); max-width: 600px; margin: 0.5rem auto 0; line-height: 1.7; font-size: 0.95rem; }
.author-stats { color: var(--accent); font-size: 0.88rem; margin-top: 0.8rem; }
.author-posts {
    width: 1200px;
    margin: 0 auto;
    background: var(--dark-2); border-radius: 20px;
    border: 1px solid rgba(108,92,231,0.1); padding: 2rem;
}

/* 附件页 */
.attachment-page { text-align: center; }
.attachment-page > article {
    width: 1200px;
    margin: 0 auto;
    background: var(--dark-2);
    border-radius: 20px;
    border: 1px solid rgba(108,92,231,0.1);
    padding: 2.5rem;
}
.attachment-header { text-align: center; margin-bottom: 2.5rem; }
.attachment-title { font-size: 2rem; font-weight: 700; color: #fff; }
.attachment-meta { color: var(--text-muted); margin-top: 0.5rem; font-size: 0.88rem; }
.attachment-body { text-align: left; margin-bottom: 2rem; }
.attachment-figure { margin: 0 0 2rem; }
.attachment-figure img { max-width: 100%; height: auto; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,0.4); }
.attachment-caption { text-align: center; color: var(--text-muted); font-style: italic; font-size: 0.88rem; margin-top: 0.8rem; }
.attachment-media { max-width: 100%; border-radius: 12px; }
.attachment-other {
    padding: 3rem; background: var(--dark-2); border-radius: 16px;
    border: 1px solid rgba(108,92,231,0.08); text-align: center;
}
.file-icon { font-size: 4rem; margin-bottom: 1rem; }
.attachment-other p { margin: 0.5rem 0; font-size: 0.95rem; color: var(--text-muted); }
.attachment-other strong { color: var(--text); }
.attachment-details { margin-top: 2rem; padding: 1.5rem; background: var(--dark-2); border-radius: 12px; border: 1px solid rgba(108,92,231,0.08); }
.attachment-details dt { float: left; clear: both; width: 80px; color: var(--text-muted); font-size: 0.85rem; }
.attachment-details dd { overflow: hidden; margin-bottom: 0.5rem; }
.attachment-details input {
    width: 100%; padding: 0.55rem 0.8rem; border-radius: 8px;
    border: 1.5px solid rgba(108,92,231,0.15); background: rgba(10,10,26,0.5);
    color: var(--text-muted); font-size: 0.82rem; outline: none;
}
.attachment-parent { text-align: center; padding-top: 1.5rem; border-top: 1px solid rgba(108,92,231,0.1); }
.attachment-parent span { color: var(--text-muted); font-size: 0.88rem; }
.attachment-parent a { color: var(--accent); text-decoration: none; font-weight: 600; }
.attachment-parent a:hover { text-decoration: underline; }

/* ============================================
   响应式设计
   ============================================ */
@media (max-width: 1024px) {
    nav { padding: 0.8rem 1.5rem; }
}

@media (max-width: 768px) {
    nav { padding: 0.8rem 1.5rem; }
    .nav-links { display: none; }
    .logo-row { min-height: 400px; gap: 1rem; }
    .logo-circle { width: 135px; height: 135px; }
    .logo-text-cn { font-size: 108px; letter-spacing: 6px; }
    .brand-name { font-size: 42px; letter-spacing: 9px; }
    .logo-subtitle-text { font-size: 15px; letter-spacing: 4px; }
    .logo-subtitle-line { max-width: 120px; }
    .plan-intro { min-height: 500px; height: auto; }
    .intro-title { font-size: 1.2rem; letter-spacing: 3px; }
    .intro-label { font-size: 1.05rem; min-width: 4em; }
    .intro-text { font-size: 0.95rem; }
    .plan-menu { width: 100%; }
    .plan-menu-title { font-size: 1.2rem; letter-spacing: 3px; }
    .hero h1 { font-size: 2.2rem; }
    .hero p { font-size: 1rem; }
    .section-header h2 { font-size: 1.7rem; }
    .blog-grid { grid-template-columns: 1fr; }
    .blog-card-thumb { height: 180px; }
    .menu-slot,
    .menu-half-slot { min-height: 130px; }
    .menu-left { height: 60px; }
    .menu-sub { font-size: 16px; letter-spacing: 4px; }
    .menu-inner { padding: 1rem 1.5rem; }
}

@media (max-width: 480px) {
    .main-home { padding: calc(45px + 1rem) 1rem 1rem; }
    .logo-circle { width: 105px; height: 105px; }
    .logo-text-cn { font-size: 84px; letter-spacing: 3px; }
    .brand-name { font-size: 33px; letter-spacing: 6px; }
    .logo-subtitle-text { font-size: 13px; letter-spacing: 3px; }
    .logo-subtitle-line { max-width: 70px; }
    .plan-intro { height: auto; }
    .intro-title { font-size: 1.05rem; letter-spacing: 2px; }
    .intro-section { flex-direction: column; gap: 0.3rem; }
    .intro-label { font-size: 0.95rem; min-width: unset; }
    .intro-text { font-size: 0.85rem; }
    .plan-menu-title { font-size: 1.05rem; letter-spacing: 2px; }
    .menu-left { font-size: 22px; letter-spacing: 4px; }
    .menu-sub { font-size: 14px; letter-spacing: 2px; }
    .menu-desc { font-size: 12px; letter-spacing: 1px; }
    .menu-inner { flex-direction: column; gap: 1rem; padding: 1rem; text-align: center; }
    .menu-sep { width: 60%; height: 1px; }
    .menu-sep::after { width: 1px; height: 30px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
}

/* 首页菜单链接（整块可点击） */
.menu-slot-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* ================================================================
   社区论坛系统样式
   ================================================================ */

/* --- 广告栏 (1200x200) --- */
.plan-ad-banner {
    width: 1200px;
    margin: 2rem auto;
}
.ad-inner {
    position: relative;
    width: 1200px;
    height: 200px;
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(108,92,231,0.15), rgba(0,206,201,0.08));
    border: 1px solid rgba(108,92,231,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
}
.ad-label {
    position: absolute;
    top: 8px;
    right: 10px;
    font-size: 0.7rem;
    color: rgba(255,255,255,0.25);
    background: rgba(0,0,0,0.3);
    padding: 2px 8px;
    border-radius: 4px;
}
.ad-placeholder {
    text-align: center;
    color: rgba(255,255,255,0.3);
    font-size: 0.9rem;
}

/* --- 分隔线 --- */
.section-divider {
    width: 1200px;
    margin: 5px auto;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%, rgba(0,230,220,0.3) 20%, rgba(0,230,220,0.6) 50%,
        rgba(0,230,220,0.3) 80%, transparent 100%);
}

/* --- 主图栏 (1200x900) --- */
.plan-hero {
    width: 1200px;
    margin: 1rem auto;
    height: 900px;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    background: linear-gradient(135deg, #1a1040 0%, #0a1628 50%, #061a28 100%);
    border: 1px solid rgba(108,92,231,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}
.hero-overlay {
    position:absolute;top:0;left:0;right:0;bottom:0;
    background:
        radial-gradient(circle at 30% 40%, rgba(108,92,231,0.2) 0%, transparent 60%),
        radial-gradient(circle at 70% 60%, rgba(0,230,220,0.12) 0%, transparent 55%);
}
.hero-content {
    position:relative;z-index:2;text-align:center;padding:3rem;
}
.hero-title {
    font-size: 3rem;font-weight:900;background:var(--gradient-1);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;
    margin-bottom:0.5rem;letter-spacing:8px;font-family:var(--font-cn);
}
.hero-desc {
    color:rgba(224,240,240,0.6);font-size:1.05rem;margin-bottom:1rem;
}
.hero-stats {
    display:flex;gap:1.5rem;justify-content:center;
}
.stat-item {
    color:rgba(224,240,240,0.5);font-size:0.88rem;
}
.stat-item strong { color:#00e6dc; }

@media(max-width:768px){
    .plan-hero{height:500px;}
    .hero-title{font-size:1.8rem;letter-spacing:4px;}
    .plan-ad-banner .ad-inner{height:120px;border-radius:10px;}
}

/* --- 内容区标题栏 --- */
.plan-content {
    width: 1200px; height: 900px; margin: 2rem auto; padding: 0;
}
.content-header {
    display:flex;align-items:center;justify-content:space-between;
    flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;
}
.content-title {
    font-size:1.35rem;color:#fff;font-weight:700;
}
.content-toolbar {
    display:flex;align-items:center;gap:1rem;
}

/* 排序标签 */
.sort-tabs {
    display:flex;gap:0.3rem;background:rgba(255,255,255,0.04);
    border-radius:50px;padding:3px;border:1px solid rgba(108,92,231,0.12);
}
.sort-tab {
    display:inline-flex;align-items:center;gap:4px;
    padding:0.4rem 1rem;border-radius:50px;text-decoration:none;border:0;background:transparent;font:inherit;
    color:rgba(224,240,240,0.45);font-size:0.82rem;transition:all 0.25s;
    cursor:pointer;
}
.sort-tab:hover{color:#fff;background:rgba(108,92,231,0.1);}
.sort-tab.active{
    background:var(--gradient-1);color:#fff;font-weight:600;
    box-shadow:0 2px 12px rgba(108,92,231,0.3);
}

/* 发帖按钮 */
.btn-new-post {
    display:inline-flex;align-items:center;gap:6px;
    padding:0.48rem 1.4rem;border-radius:50px;border:none;
    background:linear-gradient(135deg,#00cec9,#6c5ce7);color:#fff;
    font-weight:600;font-size:0.85rem;cursor:pointer;
    transition:all 0.3s;white-space:nowrap;
}
.btn-new-post:hover {
    transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,206,201,0.35);
}

/* --- 帖子卡片网格 (3x3) --- */
.post-grid {
    display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;
}
.post-card {
    background:var(--dark-2);border-radius:16px;
    border:1px solid rgba(108,92,231,0.09);overflow:hidden;
    transition:all 0.3s ease;display:flex;flex-direction:column;
}
.post-card:hover {
    transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,0,0,0.4),0 0 24px rgba(108,92,231,0.08);
    border-color:rgba(108,92,231,0.25);
}
.card-link {display:block;overflow:hidden;flex-shrink:0;}
.card-thumb {
    width:100%;height:190px;object-fit:cover;display:block;
    transition:transform 0.4s;
}
.card-link:hover .card-thumb{transform:scale(1.05);}
.card-thumb--placeholder{
    width:100%;height:190px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,rgba(108,92,231,0.08),rgba(0,206,201,0.05));
}
.card-body {
    padding:1.1rem;display:flex;flex-direction:column;gap:0.5rem;flex:1;
}
.card-title a {
    color:#e0f0f0;text-decoration:none;font-weight:700;font-size:1rem;line-height:1.4;
    transition:color 0.2s;
}
.card-title a:hover { color: #00e6dc; }
.card-excerpt {
    color:rgba(136,136,170,0.85);font-size:0.82rem;line-height:1.5;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.card-meta {
    display:flex;align-items:center;gap:0.8rem;margin-top:auto;
    padding-top:0.6rem;border-top:1px solid rgba(108,92,231,0.07);
    font-size:0.75rem;color:rgba(136,136,170,0.7);
}
.card-meta svg { opacity: 0.5; vertical-align: middle; }
.meta-likes:hover svg,.meta-comments:hover svg { opacity: 1; }

/* 空状态 */
.empty-state {
    text-align:center;padding:4rem 2rem;color:rgba(136,136,170,0.6);
}
.empty-state p{margin:1rem 0 1.5rem;font-size:0.95rem;}
.empty-state .btn-new-post{margin:0 auto;}

/* 分页 */
.pagination {
    display:flex;justify-content:center;align-items:center;gap:0.4rem;
    margin-top:2.5rem;flex-wrap:wrap;
}
.pagination a,.pagination span.page-numbers{
    display:inline-block;padding:0.45rem 0.9rem;border-radius:8px;
    text-decoration:none;color:var(--text-muted);font-size:0.85rem;
    border:1px solid rgba(108,92,231,0.12);transition:all 0.2s;
}
.pagination a:hover{background:rgba(108,92,231,0.12);border-color:rgba(108,92,231,0.3);color:#fff;}
.pagination .current{background:var(--gradient-1);color:#fff;border-color:transparent;font-weight:600;}

@media(max-width:1024px){ .post-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:640px){
    .post-grid{grid-template-columns:1fr;}
    .content-header{flex-direction:column;align-items:flex-start;}
    .sort-tabs{width:100%;justify-content:center;}
}


/* --- 社区栏（会员互动区）--- */
.plan-community {
    width:1200px;height:900px;margin:2rem auto;padding:0 0 3rem;
}
.community-title {
    font-size:1.4rem;color:#fff;font-weight:800;text-align:center;
    margin-bottom:1.8rem;letter-spacing:4px;
}
.community-grid {
    display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;
}
.community-card {
    background:var(--dark-2);border-radius:16px;
    border:1px solid rgba(108,92,231,0.09);padding:1.4rem;
}
.community-active-users{grid-column:span 2;}
.cc-title {
    font-size:1rem;color:#fff;font-weight:700;margin-bottom:1rem;
    padding-bottom:0.6rem;border-bottom:1px solid rgba(108,92,231,0.12);
}
.cc-list{display:flex;flex-direction:column;gap:0.7rem;min-height:180px;}
.cc-empty{color:rgba(136,136,170,0.5);text-align:center;padding:2rem 0;font-size:0.85rem;}

/* 最新评论项 */
.cc-item{display:flex;align-items:flex-start;gap:0.7rem;padding:0.5rem 0;
    border-bottom:1px solid rgba(108,92,231,0.05);transition:background 0.2s;}
.cc-item:hover{background:rgba(108,92,231,0.03);border-radius:8px;}
.cc-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;object-fit:cover;}
.cc-info{flex:1;min-width:0;}
.cc-author{display:block;font-size:0.78rem;color:var(--accent);font-weight:600;}
.cc-text{display:block;font-size:0.82rem;color:rgba(224,240,240,0.65);text-decoration:none;
    line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cc-text:hover{color:var(--text);}

/* 热门帖子排名 */
.cc-item--rank{display:flex;align-items:center;gap:0.6rem;}
.cc-rank{
    width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;
    font-size:0.72rem;font-weight:800;flex-shrink:0;
    background:rgba(108,92,231,0.12);color:var(--text-muted);
}
.cc-item--rank:nth-child(1) .cc-rank{background:linear-gradient(135deg,#ffd700,#ff9500);color:#000;}
.cc-item--rank:nth-child(2) .cc-rank{background:linear-gradient(135deg,#c0c0c0,#999);color:#000;}
.cc-item--rank:nth-child(3) .cc-rank{background:linear-gradient(135deg,#cd7f32,#a66e29);color:#fff;}
.cc-item--rank .cc-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cc-count{font-size:0.75rem;color:rgba(136,136,170,0.6);flex-shrink:0;}

/* 活跃用户 */
.user-list{display:flex;flex-wrap:wrap;gap:0.6rem;}
.user-chip{
    display:flex;align-items:center;gap:0.35rem;padding:0.35rem 0.75rem;
    background:rgba(108,92,231,0.07);border-radius:50px;
    text-decoration:none;color:var(--text-muted);font-size:0.8rem;
    transition:all 0.2s;border:1px solid transparent;
}
.user-chip:hover{background:rgba(108,92,231,0.15);color:#fff;border-color:rgba(108,92,231,0.2);}
.user-chip img{width:24px;height:24px;border-radius:50%;object-fit:cover;}

@media(max-width:768px){
    .community-grid{grid-template-columns:1fr;}
    .community-active-users{grid-column:span 1;}
}


/* ================================================================
   发帖页面（独立页面，非弹窗）
   ================================================================ */
.new-post-page{padding:3rem 0 4rem;}
.npp-container{width:800px;margin:0 auto;background:var(--dark-2);border-radius:18px;border:1px solid rgba(108,92,231,0.15);overflow:hidden;}
.npp-header{text-align:center;padding:2rem 2rem 1rem;border-bottom:1px solid rgba(108,92,231,0.08);}
.npp-title{font-size:1.6rem;font-weight:800;color:#fff;margin:0 0 0.3rem;}
.npp-desc{font-size:0.85rem;color:var(--text-muted);margin:0;}

.npp-field{padding:1rem 2rem;}
.npp-field label{display:block;font-size:0.82rem;color:var(--text-muted);margin-bottom:0.45rem;font-weight:500;}
.npp-field input[type="text"],
.npp-field select,
.npp-field textarea{
    width:100%;padding:0.7rem 1rem;border-radius:12px;
    border:1.5px solid rgba(108,92,231,0.18);background:rgba(0,0,0,0.35);
    color:#e0f0f0;font-size:0.95rem;transition:border-color 0.25s;
    font-family:inherit;
}
.npp-field input:focus,.npp-field select:focus,.npp-field textarea:focus{
    outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,230,220,0.1);
}
.npp-field textarea{resize:vertical;min-height:160px;line-height:1.65;}
.npp-hint{display:block;font-size:0.76rem;color:var(--text-muted);margin-top:0.3rem;}
.npp-row{display:flex;gap:0;}
.npp-field--half{flex:1;}

/* 图片上传区域 */
.upload-area{
    cursor:pointer;border:2px dashed rgba(108,92,231,0.25);border-radius:12px;
    min-height:110px;display:flex;align-items:center;justify-content:center;
    transition:all 0.25s;position:relative;
}
.upload-area:hover{border-color:var(--accent);background:rgba(0,230,220,0.03);}
.upload-placeholder{
    display:flex;flex-direction:column;align-items:center;gap:0.4rem;
    color:rgba(136,136,170,0.5);font-size:0.82rem;
}
.upload-preview{
    position:relative;width:100%;height:150px;border-radius:10px;overflow:hidden;
}
.upload-preview img{width:100%;height:100%;object-fit:cover;}
.remove-img{
    position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;
    background:rgba(0,0,0,0.7);color:#fff;border:none;font-size:1.1rem;
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    transition:all 0.2s;z-index:2;
}
.remove-img:hover{background:#ef4444;}

.npp-actions{
    display:flex;justify-content:flex-end;gap:0.8rem;
    padding:1.2rem 2rem 1.6rem;border-top:1px solid rgba(108,92,231,0.08);
}
.npp-cancel{
    padding:0.6rem 1.5rem;border-radius:12px;border:1.5px solid rgba(108,92,231,0.25);
    background:transparent;color:var(--text-muted);cursor:pointer;font-size:0.9rem;
    text-decoration:none;transition:all 0.2s;display:inline-block;line-height:1.4;
}
.npp-cancel:hover{background:rgba(108,92,231,0.08);color:#fff;}
.npp-submit{
    padding:0.6rem 2rem;border-radius:12px;border:none;
    background:var(--gradient-1);color:#fff;cursor:pointer;font-size:0.9rem;
    font-weight:600;transition:all 0.25s;
}
.npp-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px rgba(108,92,231,0.35)}
.npp-submit:disabled{opacity:0.6;cursor:not-allowed;}
.npp-status{padding:1rem 2rem;text-align:center;margin-top:0.5rem;}

/* 响应式 */
@media(max-width:900px){
    .npp-container{width:96%;margin:0 auto;}
    .npp-row{flex-direction:column;}
    .npp-field--half{flex:none;}
}


/* ================================================================
   帖子详情页
   ================================================================ */
.post-detail {
    width:1200px;margin:0 auto;padding:0 0 3rem;
}
.pd-article{background:var(--dark-2);border-radius:18px;border:1px solid rgba(108,92,231,0.1);overflow:hidden;}
.pd-header{padding:2rem 2rem 1.2rem;}
.pd-category{
    display:inline-block;padding:0.2rem 0.8rem;border-radius:50px;
    font-size:0.75rem;font-weight:600;background:rgba(0,230,220,0.12);
    color:var(--accent);text-decoration:none;margin-bottom:0.8rem;
    border:1px solid rgba(0,230,220,0.2);
}
.pd-category:hover{background:rgba(0,230,220,0.2);color:#fff;}
.pd-title{
    font-size:1.75rem;font-weight:800;color:#fff;line-height:1.35;
    margin-bottom:1rem;
}
.pd-meta{
    display:flex;align-items:center;gap:0.8rem;flex-wrap:wrap;
}
.pd-author-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;}
.pd-meta-info{display:flex;flex-direction:column;gap:2px;}
.pd-author-name{font-size:0.88rem;font-weight:600;color:#e0f0f0;}
.pd-date{font-size:0.76rem;color:var(--text-muted);}

/* 点赞按钮 */
.btn-like{
    display:inline-flex;align-items:center;gap:5px;padding:0.4rem 1rem;
    border-radius:50px;border:1.5px solid rgba(239,68,68,0.3);
    background:rgba(239,68,68,0.06);color:var(--text-muted);
    cursor:pointer;font-size:0.85rem;transition:all 0.25s;
    margin-left:auto;
}
.btn-like:hover{background:rgba(239,68,68,0.12);border-color:rgba(239,68,68,0.5);color:#ef4444;}
.btn-like.liked{background:rgba(239,68,68,0.15);border-color:#ef4444;color:#ef4444;}
.btn-like.liked svg{fill:#ef4444!important;}

.pd-thumbnail{margin:0;padding:0;line-height:0;}
.pd-thumbnail img{width:100%;display:block;height:auto;max-height:500px;object-fit:cover;}
.pd-content{padding:0 2rem 1.5rem;color:rgba(224,240,240,0.85);line-height:1.8;font-size:0.95rem;}
.pd-content p{margin-bottom:1rem;}
.pd-tags{padding:0 2rem 1.2rem;display:flex;flex-wrap:wrap;gap:0.4rem;}
.pd-tags a{
    display:inline-block;padding:0.2rem 0.7rem;border-radius:50px;
    font-size:0.75rem;background:rgba(108,92,231,0.1);color:var(--text-muted);
    text-decoration:none;transition:all 0.2s;
}
.pd-tags a:hover{background:rgba(108,92,231,0.2);color:#fff;}

.pd-sep{border:none;border-top:1px solid rgba(108,92,231,0.1);margin:0 2rem;}

.pd-actions-bar{
    display:flex;gap:1rem;padding:1rem 2rem 1.5rem;
}
.action-btn{
    display:inline-flex;align-items:center;gap:6px;
    padding:0.4rem 1rem;border-radius:50px;border:1.5px solid rgba(108,92,231,0.18);
    background:transparent;color:var(--text-muted);cursor:pointer;
    font-size:0.84rem;text-decoration:none;transition:all 0.2s;
}
.action-btn:hover{background:rgba(108,92,231,0.08);border-color:rgba(108,92,231,0.35);color:#fff;}


/* ================================================================
   评论区
   ================================================================ */
.comment-section{margin-top:2rem;}
.section-heading{font-size:1.25rem;color:#fff;font-weight:700;margin-bottom:1.2rem;}

.comment-form-wrapper{margin-bottom:2rem;}
.login-prompt{text-align:center;padding:1.5rem;color:var(--text-muted);
    background:rgba(108,92,231,0.05);border-radius:12px;border:1px dashed rgba(108,92,231,0.15);}
.login-prompt a{color:var(--accent);font-weight:600;}

.cf-input-row{margin-bottom:0.8rem;}
.cf-input-row textarea{
    width:100%;padding:0.8rem 1rem;border-radius:12px;
    border:1.5px solid rgba(108,92,231,0.15);background:rgba(0,0,0,0.25);
    color:#e0f0f0;font-size:0.9rem;resize:vertical;font-family:inherit;min-height:70px;
}
.cf-input-row textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,230,220,0.08);}
.cf-actions{display:flex;justify-content:flex-end;align-items:center;gap:0.6rem;}
.cf-cancel{
    padding:0.4rem 1rem;border-radius:8px;border:1px solid rgba(108,92,231,0.18);
    background:transparent;color:var(--text-muted);cursor:pointer;font-size:0.82rem;
}
.cf-cancel:hover{background:rgba(108,92,231,0.06);color:#fff;}
.cf-submit{
    padding:0.45rem 1.5rem;border-radius:8px;border:none;
    background:var(--gradient-1);color:#fff;cursor:pointer;font-size:0.85rem;font-weight:600;
}
.cf-submit:hover:not(:disabled){opacity:0.9;transform:translateY(-1px);}
.cf-submit:disabled{opacity:0.5;cursor:not-allowed;}
.cf-status{text-align:center;margin-top:0.6rem;}

/* 评论列表 */
.comment-list{display:flex;flex-direction:column;gap:0.8rem;}
.cmt-item{
    display:flex;gap:0.8rem;padding:1rem 1.2rem;
    background:rgba(108,92,231,0.03);border-radius:14px;
    border:1px solid rgba(108,92,231,0.06);transition:all 0.2s;
}
.cmt-item:hover{border-color:rgba(108,92,231,0.12);background:rgba(108,92,231,0.05);}
.cmt-avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;object-fit:cover;}
.cmt-avatar--sm{width:32px;height:32px;}
.cmt-body{flex:1;min-width:0;}
.cmt-header{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.35rem;}
.cmt-author{font-size:0.87rem;color:#fff;font-weight:600;}
.cmt-time{font-size:0.73rem;color:var(--text-muted);}
.cmt-text{font-size:0.88rem;color:rgba(224,240,240,0.75);line-height:1.6;}
.cmt-footer{margin-top:0.4rem;}
.cmt-reply-btn{
    padding:0.15rem 0.6rem;border-radius:6px;border:1px solid rgba(108,92,231,0.12);
    background:transparent;color:var(--text-muted);cursor:pointer;font-size:0.74rem;
    transition:all 0.2s;
}
.cmt-reply-btn:hover{background:rgba(108,92,231,0.08);color:var(--accent);border-color:var(--accent);}

/* 子回复 */
.cmt-replies{margin-left:2rem;margin-top:0.6rem;padding-left:0.8rem;border-left:2px solid rgba(108,92,231,0.1);}
.cmt-reply{background:transparent;border:none;padding:0.5rem 0.6rem;}
.cmt-reply:hover{background:rgba(108,92,231,0.03);border-radius:10px;}
.reply-to{color:var(--accent);font-weight:500;font-size:0.82rem;}

.empty-comments{
    text-align:center;padding:2.5rem;color:rgba(136,136,170,0.5);
    font-size:0.9rem;
}

@media(max-width:640px){
    .pd-article{border-radius:12px;}
    .pd-header{padding:1.2rem;}
    .pd-title{font-size:1.35rem;}
    .pd-content{padding:0 1.2rem 1.2rem;}
    .cmt-item{padding:0.8rem;}
    .cmt-replies{margin-left:0.5rem;padding-left:0.5rem;}
    .post-detail{padding:0 1rem 2rem;}
}
