/* ================================================================
   FLYFF NEW ERA — v4 原神参考图真实配色
   参考图：蓝天白云草地森林 + 城堡 + 暖光
   ================================================================ */
:root {
    /* 主色（参考图提取） */
    --sky-0: #EDF2EE;   --sky-1: #C9D6CC;   --sky-2: #3E5C46;   --sky-3: #2E4636;
    --grass-0: #D8EFD1; --grass-1: #8DC97A;  --grass-2: #4E8C3F;  --grass-3: #2F5A24;
    --water-0: #CAE8F0; --water-1: #8FC6D4;  --water-2: #4FA4B8;  --water-3: #2A6C7C;
    --stone-0: #F0E8D8; --stone-1: #C9BB9E;  --stone-2: #8E7D61;  --stone-3: #524838;
    --roof-0: #C9D6CC;  --roof-1: #7E9484;   --roof-2: #3E5C46;   --roof-3: #2E4636;
    --gold-0: #F3E3B8;  --gold-1: #D9BC7E;   --gold-2: #C9A961;   --gold-3: #8A6F3C;
    --sky-text: #2E4636; /* 墨绿文字（白底） */
    --t-1: #1A211C;     --t-2: #3E4A42;     --t-3: #6E7A70;     --t-4: #A5AEBD;
    --ink-0: #1A211C;   --ink-1: #26332B;   --ink-2: #4A5C50;
    --white: #FFFFFF;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: "PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
    color: var(--t-1); min-height: 100vh; background: var(--white);
    -webkit-font-smoothing: antialiased; line-height: 1.6; overflow-x: hidden; }
a { color: var(--gold-2); text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; }

/* ========== Nav ========== */
.nav { position: fixed; top:0; left:0; right:0; z-index: 900; height: 64px;
    background: rgba(255,255,255,0.88); backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(31,42,54,0.08); box-shadow: 0 2px 20px rgba(31,42,54,0.06); }
.nav.dark {
    background: linear-gradient(180deg, rgba(14,21,48,0.65) 0%, rgba(14,21,48,0) 100%);
    border-bottom: none; box-shadow: none;
}
.nav.dark .nav-logo-text .flyff { color: var(--gold-0); }
.nav.dark .nav-links a { color: rgba(255,255,255,0.88); }
.nav.dark .nav-links a:hover, .nav.dark .nav-links a.active { color: var(--gold-0); }
.nav-inner { max-width: 1360px; margin: 0 auto; height: 100%; padding: 0 40px;
    display: flex; align-items: center; justify-content: space-between; }
.nav-logo { display: flex; align-items: center; gap: 12px; }
.nav-logo img { height: 36px; }
.nav-logo-text .flyff { font-family: Georgia,serif; font-size: 17px; font-weight: 700;
    letter-spacing: 3px; color: var(--gold-2); }
.nav-logo-text .sub { font-size: 9px; letter-spacing: 4px; color: var(--gold-3); font-weight: 500; }
.nav-links { display: flex; gap: 34px; }
.nav-links a { font-size: 13px; color: var(--t-2); letter-spacing: 2px; font-weight: 500;
    padding: 6px 0; position: relative; }
.nav-links a:hover, .nav-links a.active { color: var(--gold-2); }
.nav-links a.active::after { content:''; position:absolute; bottom:-4px; left:0; width:100%; height:2px;
    border-radius:2px; background: var(--gold-2); }
.nav-actions { display: flex; gap: 10px; align-items: center; }

/* ========== Buttons — 官方几何风（v71）：墨绿实底 + 香槟金描边 ========== */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 11px 28px; font-size: 13px; font-weight: 700;
    letter-spacing: 2px; cursor: pointer; border: none; text-decoration: none;
    font-family: inherit; transition: transform .2s, box-shadow .2s, background .2s;
    color: var(--ink-0); position: relative; z-index: 1; }

.btn-primary { background:#3E5C46; border-radius:2px; color:#fff; text-shadow:none;
    box-shadow:0 2px 10px rgba(26,33,28,0.22); }
.btn-primary:hover { transform:translateY(-1px); background:#4A6E54;
    box-shadow:0 4px 14px rgba(26,33,28,0.3); }

.btn-gold { background:transparent; border:1px solid rgba(201,169,97,0.65); border-radius:2px;
    color:#8A6F3C; text-shadow:none; box-shadow:none; }
.btn-gold:hover { transform:translateY(-1px); background:rgba(201,169,97,0.1); }

.btn-ghost { background:#2E4636; border-radius:2px; color:#fff; text-shadow:none;
    box-shadow:0 2px 10px rgba(26,33,28,0.22); }
.btn-ghost:hover { transform:translateY(-1px); background:#3A5544;
    box-shadow:0 4px 14px rgba(26,33,28,0.3); }

.btn-outline { background:transparent; border:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 80' preserveAspectRatio='none'%3E%3Crect x='1' y='1' width='298' height='78' rx='4' fill='none' stroke='%23C9A961' stroke-width='1.5'/%3E%3C/svg%3E");
    background-size:100% 100%; color:#8A6F3C; }
.btn-outline:hover { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 80' preserveAspectRatio='none'%3E%3Crect x='1' y='1' width='298' height='78' rx='4' fill='rgba(201,169,97,0.12)' stroke='%23C9A961' stroke-width='1.5'/%3E%3C/svg%3E");
    color:#8A6F3C; transform:translateY(-1px); box-shadow:0 4px 12px rgba(26,33,28,0.15); }
.nav.dark .nav-actions .btn-outline { color:#F3E3B8; }
.nav.dark .nav-actions .btn-outline:hover { background:rgba(217,188,126,0.1); }
.nav.dark .nav-actions .btn-gold { color:#F3E3B8; }

.btn-sm { padding: 7px 18px; font-size: 12px; letter-spacing: 1.5px; }
.btn-lg { padding: 14px 38px; font-size: 14px; }
.btn-block { width: 100%; }

/* ================================================================
   首页 — 全屏浮空岛 Hero + 渐变分区
   ================================================================ */
.home-hero {
    position: relative; width: 100%; min-height: 100vh; overflow: hidden;
    background: url('/images/hero_keyvisual.jpg') 52% 50%/118% no-repeat;
}
.home-hero::before { content:''; position:absolute; inset:0;
    background: linear-gradient(180deg, rgba(13,22,46,0.55) 0%, rgba(13,22,46,0.32) 38%, rgba(13,22,46,0.48) 62%, rgba(13,22,46,0.72) 100%); }
.home-hero::after { content:''; position:absolute; bottom:0; left:0; right:0; height:120px;
    background: linear-gradient(180deg, transparent, #F0F4F8); }
.home-hero-content { position:absolute; left:50%; top:45%; transform:translate(-50%,-50%);
    text-align:center; width:100%; max-width:800px; padding:0 32px; z-index:2; color:#fff; }
.home-hero-en { font-family:Georgia,serif; font-size:clamp(52px,8.5vw,120px); font-weight:400;
    letter-spacing:3px; color:#F7F9F5;
    margin-bottom:0; line-height:1; text-shadow:0 2px 26px rgba(0,0,0,0.45); }
.home-hero-en img { display:block; margin:0 auto; width:clamp(240px,26vw,400px); height:auto; }
.home-hero-subtitle { display:flex; align-items:center; justify-content:center; gap:18px;
    margin-bottom:12px; font-size:11px; letter-spacing:5px; color:rgba(255,255,255,0.82); font-weight:400; }
.home-hero-subtitle::before, .home-hero-subtitle::after { content:''; width:48px; height:1px;
    background:linear-gradient(90deg,transparent,rgba(217,188,126,0.6),transparent); }
/* v111：新 hero logo 自带「飞飞·新纪元」中文行，隐藏下方重复大标题（文本保留 DOM 供 SEO） */
.home-hero-cn { display: none; }
.home-hero-cn { font-size:clamp(26px,4.5vw,52px); font-weight:800; letter-spacing:3px;
    margin-bottom:18px;
    background:linear-gradient(180deg,#FFFFFF 0%,#FFFFFF 42%,#FDF6E3 72%,#F2E3B8 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
    text-shadow:0 4px 22px rgba(20,32,52,0.38); }
.home-hero-desc { font-size:14px; line-height:2; letter-spacing:1px; margin-bottom:40px; max-width:480px; margin-left:auto; margin-right:auto;
    color:rgba(255,255,255,0.88); text-shadow:0 1px 8px rgba(0,0,0,0.3); }
.home-hero-actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.home-hero-arrow { position:absolute; bottom:160px; left:50%; transform:translateX(-50%);
    color:rgba(255,255,255,0.8); font-size:10px; letter-spacing:4px; z-index:3; animation:arrow 2s ease infinite; }
.home-hero-arrow::after { content:'▼'; display:block; margin-top:8px; font-size:11px; }
@keyframes arrow { 0%,100%{ opacity:0.6; transform:translateX(-50%) translateY(0);} 50%{ opacity:1; transform:translateX(-50%) translateY(8px);} }

/* 适龄提示 */
.adult-tip {
    position: fixed; bottom: 20px; left: 20px; z-index: 999;
    display: flex; align-items: center; gap: 10px;
    background: rgba(255,255,255,0.92); backdrop-filter: blur(10px);
    padding: 8px 12px; border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    border: 1px solid rgba(31,42,54,0.08);
    cursor: default;
}
.adult-tip-icon {
    width: 36px; height: 36px; border-radius: 4px; background: #3E7BAE;
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 800; font-size: 14px; letter-spacing: -1px;
    box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #3E7BAE;
    position: relative;
}
.adult-tip-icon::after {
    content: 'CADPA'; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%);
    font-size: 7px; color: #3E7BAE; letter-spacing: 1px; font-weight: 700; background: #fff; padding: 0 3px;
}
.adult-tip-text { font-size: 10px; color: var(--t-3); letter-spacing: 0.5px; font-weight: 500; line-height: 1.3; }

/* ========== Home Sections（不同分区不同配色）========== */
.home-section { position:relative; z-index:1; padding:110px 32px; background: #F0F4F8; }
.home-section:nth-of-type(even) { background: #FFFFFF; }
.home-section.alt-blue { background: linear-gradient(180deg, #F0F4F8 0%, #E4F1FC 100%); }
.home-section.alt-grass { background: linear-gradient(180deg, #FFFFFF 0%, #F0F9EE 100%); }
.home-section.alt-sunset { background: linear-gradient(180deg, #F0F4F8 0%, #FFF7E4 100%); }

.sec-head { text-align:center; margin-bottom:64px; }
.sec-en { font-family:Georgia,serif; font-size:12px; letter-spacing:3px; color: var(--sky-3); font-weight:400; margin-bottom:6px; }
.sec-cn { font-size:clamp(24px,4vw,38px); font-weight:800; letter-spacing:3px;
    color: var(--t-1); margin-bottom:14px; }
.sec-line { width:60px; height:1px; background: linear-gradient(90deg,transparent,var(--gold-2),transparent);
    margin:0 auto 14px; }
.sec-desc { font-size:13px; color:var(--t-3); max-width:480px; margin:0 auto; line-height:2; letter-spacing:1px; }

/* Events grid */
.events-grid { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:18px; }
.event-main, .event-card { position:relative; border-radius:6px; overflow:hidden;
    border:1px solid rgba(31,42,54,0.08); cursor:pointer; transition:all .3s; }
.event-main { grid-row:span 2; aspect-ratio:3/4; }
.event-card { aspect-ratio:16/9; }
.event-main:hover, .event-card:hover { transform:translateY(-3px); box-shadow:0 16px 40px rgba(31,42,54,0.15); }
.event-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .6s; }
.event-main:hover .event-bg, .event-card:hover .event-bg { transform:scale(1.05); }
.event-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(31,42,54,0.08) 0%, rgba(31,42,54,0.92) 100%); }
.event-content { position:absolute; bottom:0; left:0; right:0; padding:24px 28px; z-index:2; color:#fff; }
.event-card-sm .event-content { padding:14px 18px; }
.event-main .event-title { font-size:30px; margin-bottom:8px; }
.event-title { font-size:18px; font-weight:700; letter-spacing:2px; margin-bottom:4px; }
.event-tag { display:inline-block; padding:3px 10px; margin-bottom:10px;
    font-size:10px; letter-spacing:2px; font-weight:600; border-radius:2px; }
.event-tag.ruby { background: linear-gradient(90deg,#C83E58,#E87088); color:#fff; }
.event-tag.gold { background: #3E5C46; color:#fff; }
.event-tag.jade { background: linear-gradient(90deg,#4E8C3F,#8DC97A); color:#fff; }
.event-tag.cobalt { background: linear-gradient(90deg,#3E7BAE,#8FC6D4); color:#fff; }
.event-desc { font-size:12px; line-height:1.8; margin-bottom:6px; color:rgba(255,255,255,0.9);
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.event-meta { font-size:11px; color:rgba(255,255,255,0.7); letter-spacing:1px; }

/* News grid */
.news-grid { max-width:1280px; margin:0 auto; display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:24px; }
.news-card { background:#fff; border:1px solid rgba(31,42,54,0.08); border-radius:6px; overflow:hidden;
    transition:all .3s; cursor:pointer; }
.news-card:hover { transform:translateY(-3px); box-shadow:0 16px 40px rgba(31,42,54,0.12);
    border-color: var(--gold-2); }
.news-img { aspect-ratio:16/9; overflow:hidden; }
.news-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.news-card:hover .news-img img { transform:scale(1.05); }
.news-body { padding:20px 24px 24px; }
.news-cat { display:inline-block; padding:2px 8px; margin-bottom:8px;
    font-size:10px; letter-spacing:2px; color: var(--sky-3);
    border:1px solid rgba(62,123,174,0.3); border-radius:2px; font-weight:500; }
.news-title { font-size:16px; font-weight:700; color: var(--t-1); letter-spacing:0.5px; margin-bottom:8px;
    line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-excerpt { font-size:12px; color: var(--t-3); line-height:1.8; margin-bottom:10px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-date { font-size:10px; color: var(--t-4); letter-spacing:1px; }

/* Features */
.features { max-width:1280px; margin:0 auto; display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:22px; }
.feat { padding:40px 32px; border-radius:6px;
    background:#fff; border:1px solid rgba(31,42,54,0.08); transition:all .3s; }
.feat:hover { border-color: var(--grass-1); transform:translateY(-3px);
    box-shadow:0 16px 40px rgba(78,140,63,0.1); }
.feat-ic { font-size:32px; margin-bottom:16px; }
.feat-t { font-size:16px; font-weight:700; letter-spacing:3px;
    color: var(--grass-2); margin-bottom:10px; }
.feat-d { font-size:12px; color: var(--t-3); line-height:1.9; }

/* Download */
.download-hero { max-width:620px; margin:0 auto; padding:56px 48px; border-radius:8px; text-align:center;
    background: linear-gradient(135deg, #F2F6F3, #FAFBFA); border:1px solid rgba(62,92,70,0.15); }
.dl-platforms { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:24px; }
.dl-plat { flex:1; min-width:130px; padding:18px 12px; border-radius:4px;
    background:#fff; border:1px solid rgba(31,42,54,0.08); transition:all .3s; cursor:pointer; }
.dl-plat:hover { border-color: var(--gold-2); transform:translateY(-2px); box-shadow:0 8px 20px rgba(62,92,70,0.12); }
.dl-plat-ic { font-size:26px; margin-bottom:6px; }
.dl-plat-t { font-size:12px; color: var(--t-1); font-weight:600; letter-spacing:2px; margin-bottom:2px; }
.dl-plat-d { font-size:10px; color: var(--t-3); }

/* Guide */
.guide { max-width:880px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.g-item { text-align:center; padding:28px 16px; border-radius:6px;
    background:#fff; border:1px solid rgba(31,42,54,0.08); transition:all .3s; }
.g-item:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(31,42,54,0.08); }
.g-num { font-family:Georgia,serif; font-size:42px; font-weight:400;
    background:linear-gradient(180deg, #6FA8D6, #3E7BAE);
    margin-bottom:8px; }
.g-t { font-size:14px; font-weight:700; letter-spacing:2px; color: var(--ink-1); margin-bottom:6px; }
.g-d { font-size:11px; color: var(--t-3); line-height:1.8; }

/* About teaser */
.about-teaser { max-width:1080px; margin:0 auto;
    display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.about-text h3 { font-size:26px; font-weight:700; letter-spacing:3px;
    color: var(--gold-2); margin-bottom:20px; }
.about-text p { font-size:13px; color: var(--t-2); line-height:2; margin-bottom:14px; letter-spacing:0.5px; }
.about-visual { aspect-ratio:4/3; border-radius:6px; overflow:hidden;
    border:1px solid rgba(31,42,54,0.08); }
.about-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; padding-top:24px;
    border-top:1px solid rgba(31,42,54,0.08); }
.about-stat { text-align:center; }
.about-stat-v { font-family:Georgia,serif; font-size:32px; font-weight:700;
    background:linear-gradient(180deg, var(--gold-1), var(--gold-3));
    line-height:1; }
.about-stat-l { font-size:10px; color: var(--t-3); letter-spacing:3px; margin-top:6px; }

/* ========== Footer ========== */
.footer { padding:70px 48px 40px; background: var(--ink-0); color:rgba(255,255,255,0.6); }
.footer-top { max-width:1440px; margin:0 auto;
    display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:50px;
    padding-bottom:50px; border-bottom:1px solid rgba(255,255,255,0.08); }
.footer-brand img { height:34px; margin-bottom:14px; filter:brightness(0) invert(0.9); }
.footer-brand p { font-size:11px; line-height:1.9; max-width:300px; }
.footer-col h4 { font-size:13px; letter-spacing:3px;
    color: var(--gold-0); margin-bottom:16px; font-weight:700; }
.footer-col a { display:block; padding:5px 0; font-size:11px; letter-spacing:1px; }
.footer-col a:hover { color: var(--gold-1); }
.footer-bot { max-width:1440px; margin:0 auto; padding-top:24px;
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.footer-copy { font-size:10px; letter-spacing:1px; }
.footer-warn { font-size:10px; letter-spacing:1px; opacity:0.6; }
/* 页脚适龄提示 */
.footer-adult {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 16px; margin-top: 20px;
    background: rgba(255,255,255,0.05); border-radius: 4px;
    font-size: 11px; line-height: 1.7;
    color: rgba(255,255,255,0.55);
}
.footer-adult .badge {
    width: 40px; height: 40px; border-radius: 4px; background: var(--sky-2);
    display: flex; align-items: center; justify-content: center;
    color: #fff; font-weight: 800; font-size: 18px; letter-spacing: -1px; flex-shrink: 0;
    box-shadow: inset 0 0 0 3px #fff, 0 0 0 1px var(--sky-2);
    position: relative;
}
.footer-adult .badge::after {
    content: 'CADPA'; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%);
    font-size: 8px; color: var(--sky-2); letter-spacing: 1px; font-weight: 700;
    background: var(--ink-0); padding: 0 3px;
}

/* ================================================================
   news.html — 蓝色 + 羊皮纸卷轴风（完全独立）
   ================================================================ */
/* ===== 全站统一背景：首页 hero 用星空图，子页顶部小 banner + 干净暖白 ===== */
.home-page { /* 首页：hero 大图已自带背景 */ }
/* 所有子页：顶部小 banner（hero 图）+ 干净暖白内容区 */
.news-page-bg, .events-page-bg, .about-page-bg,
.features-page-bg, .download-page-bg, .guide-page-bg,
.recharge-page-bg, .account-page-bg, .form-page-bg {
    background: linear-gradient(180deg,
        rgba(14,21,48,0.0) 0%,
        rgba(250,248,244,0.0) 140px,
        #FAF8F4 180px,
        #F5F2EC 100%);
    min-height: 100vh;
    position: relative;
}
/* 子页顶部装饰：hero 图虚化小 banner */
.news-page-bg::before, .events-page-bg::before, .about-page-bg::before,
.features-page-bg::before, .download-page-bg::before, .guide-page-bg::before,
.recharge-page-bg::before, .account-page-bg::before {
    content:''; position:absolute; top:0; left:0; right:0; height:180px;
    background: url('/images/hero_keyvisual.jpg') 52% 50%/118% no-repeat;
    filter: saturate(0.9);
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 60%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 60%, transparent 100%);
    z-index: 0;
}
/* 内容区正常 padding */
.news-page, .events-page, .about-narrative-page,
.features-page, .download-page, .guide-page,
.recharge-page, .account-page {
    position: relative;
    z-index: 1;
}
.form-page-bg {
    /* 全站统一：页脚（v12 实测高约210px）必须整体压到首屏之下，余量230px 与内容页规则一致 */
    min-height: calc(100vh + 230px); display:flex; flex-direction:column;
}
.form-page-bg .footer { margin-top:auto; }
.news-page { max-width:1180px; margin:0 auto; padding:0 24px 60px;
    display:grid; grid-template-columns:220px 1fr; gap:40px; }
.news-side { position:sticky; top:100px; align-self:start; }
.news-side h3 { font-size:14px; letter-spacing:3px;
    color: var(--sky-3); margin-bottom:18px; font-weight:700; padding-bottom:10px;
    border-bottom:1px solid rgba(62,123,174,0.2); }
.news-side a { display:block; padding:9px 12px; font-size:13px; color: var(--t-3);
    border-left:2px solid transparent; transition:all .2s; letter-spacing:1px; }
.news-side a:hover, .news-side a.active { color: var(--sky-3); border-left-color: var(--sky-2);
    background: rgba(62,123,174,0.08); }
.news-main h2 { font-size:22px; font-weight:700; letter-spacing:4px;
    color: var(--sky-2); margin-bottom:26px; }
.news-featured { display:grid; grid-template-columns:1.2fr 1fr; gap:30px;
    margin-bottom:44px; padding-bottom:36px; border-bottom:1px solid rgba(62,123,174,0.15); }
.news-featured-img { aspect-ratio:16/10; border-radius:4px; overflow:hidden; border:1px solid rgba(62,123,174,0.18); }
.news-featured-img img { width:100%; height:100%; object-fit:cover; }
.news-featured .news-title { font-size:24px; margin-bottom:12px; }
.news-list-row { display:grid; grid-template-columns:200px 1fr; gap:20px;
    padding:20px 0; border-bottom:1px solid rgba(62,123,174,0.1); cursor:pointer; transition:all .2s; }
.news-list-row:hover { background:rgba(62,123,174,0.05); margin:0 -12px; padding-left:12px; padding-right:12px; }
.news-list-row-img { aspect-ratio:16/10; border-radius:3px; overflow:hidden; background:#fff; }
.news-list-row-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.news-list-row:hover img { transform:scale(1.04); }
.news-list-cat { font-size:10px; color: var(--sky-3); letter-spacing:2px; margin-bottom:5px; font-weight:500; }
.news-list-title { font-size:15px; font-weight:700; color: var(--t-1); letter-spacing:1px; margin-bottom:5px; line-height:1.5; }
.news-list-row:hover .news-list-title { color: var(--sky-3); }
.news-list-excerpt { font-size:12px; color: var(--t-3); line-height:1.8; margin-bottom:5px; }
.news-list-date { font-size:11px; color: var(--t-4); letter-spacing:1px; }

/* ================================================================
   events.html — 卡片网格（结构独立，背景已统一）
   ================================================================ */
.events-page { max-width:1280px; margin:0 auto; padding:0 24px 60px; }
.events-main-title { font-size:30px; font-weight:700;
    letter-spacing:3px; color: var(--roof-2); text-align:center; margin-bottom:6px; }
.events-main-sub { text-align:center; font-size:12px; color: var(--t-3); letter-spacing:2px; margin-bottom:44px; }
.events-grid-standalone { display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:22px; }
.event-card-big { position:relative; border-radius:6px; overflow:hidden;
    border:1px solid rgba(184,96,48,0.15); cursor:pointer; transition:all .3s;
    aspect-ratio:16/10; }
.event-card-big:hover { transform:translateY(-4px); box-shadow:0 18px 44px rgba(184,96,48,0.2);
    border-color: var(--roof-2); }
.event-card-big-bg { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .7s; }
.event-card-big:hover .event-card-big-bg { transform:scale(1.05); }
.event-card-big-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(31,42,54,0.1) 0%, rgba(31,42,54,0.92) 100%); }
.event-card-big-content { position:absolute; bottom:0; left:0; right:0; padding:26px; z-index:2; color:#fff; }
.event-card-big-tag { display:inline-block; padding:3px 10px; margin-bottom:10px;
    font-size:10px; letter-spacing:2px; font-weight:600; border-radius:2px; }
.event-card-big-tag.ruby { background: linear-gradient(90deg,#C83E58,#E87088); }
.event-card-big-tag.gold { background: #3E5C46; }
.event-card-big-tag.jade { background: linear-gradient(90deg,#4E8C3F,#8DC97A); }
.event-card-big-tag.cobalt { background: linear-gradient(90deg,#3E7BAE,#8FC6D4); }
.event-card-big-title { font-size:19px; font-weight:700; letter-spacing:2px; margin-bottom:4px; }
.event-card-big-date { font-size:12px; color:rgba(255,255,255,0.7); letter-spacing:1px; }

/* ================================================================
   about.html — 叙事（结构独立，背景已统一）
   ================================================================ */
.about-narrative-page { max-width:880px; margin:0 auto; padding:90px 24px 80px; }
.about-hero-text { text-align:center; margin-bottom:56px; padding-bottom:44px;
    border-bottom:1px solid rgba(255,255,255,0.16); }
.about-hero-text .ah-en { font-size:10px; letter-spacing:3px; color:rgba(243,227,184,0.9);
    font-weight:600; margin-bottom:4px; }
.about-hero-text h1 { font-size:clamp(26px,4.5vw,44px); font-weight:800;
    letter-spacing:4px; color:#fff; text-shadow:0 2px 18px rgba(0,0,0,0.55);
    margin-bottom:10px; }
.about-hero-text .ah-desc { font-size:13px; color:rgba(255,255,255,0.80); letter-spacing:2px;
    text-shadow:0 1px 6px rgba(0,0,0,0.5); }
.about-skyline { max-width:820px; margin:0 auto 38px; padding:0 20px; }
.about-skyline svg { width:100%; height:auto; display:block; }
.about-section { margin-bottom:56px; }
.about-section h2 { font-size:22px; font-weight:700; letter-spacing:4px;
    color: var(--gold-2); margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid rgba(62,92,70,0.2); }
.about-section p { font-size:14px; color: var(--t-2); line-height:2.2; margin-bottom:14px; letter-spacing:0.3px; }
.about-section p b { color: var(--gold-2); font-weight:600; }
.about-cta { text-align:center; margin-top:60px; padding:50px 24px;
    background: linear-gradient(180deg, #F2F6F3, #FAFBFA);
    border:1px solid rgba(62,92,70,0.18); border-radius:6px; }
.about-cta p { font-size:26px; font-weight:700;
    letter-spacing:3px; color: var(--gold-2); margin-bottom:24px; }

/* ================================================================
   Forms（注册/登录/找回/仓库 — 独立表单风格，背景已统一）
   ================================================================ */
/* 表单页骨架：页头 + 居中卡（此前无定义导致裸排版） */
.page-head { text-align:center; padding:90px 24px 0; }
.page-head h1 { font-size:27px; font-weight:700; letter-spacing:4px; color:#fff; text-shadow:0 2px 18px rgba(0,0,0,0.55); margin-bottom:8px; }
.page-head p { font-size:13px; color:rgba(255,255,255,0.80); text-shadow:0 1px 6px rgba(0,0,0,0.5); }
.form-wrap { max-width:420px; margin:0 auto; padding:26px 24px 70px; }

.form-card { width:100%; max-width:420px; background:#fff; border:1px solid rgba(31,42,54,0.1);
    border-radius:8px; padding:28px 36px; box-shadow:0 20px 60px rgba(31,42,54,0.08); position:relative; }
.form-card::before, .form-card::after {
    content:''; position:absolute; width:28px; height:28px; border:1px solid var(--gold-2); opacity:0.6; }
.form-card::before { top:-1px; left:-1px; border-right:none; border-bottom:none; }
.form-card::after { bottom:-1px; right:-1px; border-left:none; border-top:none; }
.form-icon { text-align:center; margin-bottom:16px; }
.form-icon .ic { font-size:40px; margin-bottom:8px; }
.form-icon .t { font-size:19px; font-weight:700; letter-spacing:4px;
    color: var(--gold-2); }
.form-row { margin-bottom:12px; }
.form-label { display:block; font-size:11px; color: var(--t-2); letter-spacing:3px;
    margin-bottom:8px; font-weight:500; }
.form-input { width:100%; padding:12px 14px; background:#fff;
    border:1px solid rgba(31,42,54,0.15); border-radius:4px; color: var(--t-1); font-size:13px;
    font-family:inherit; transition:all .2s; }
.form-input:focus { outline:none; border-color: var(--gold-2);
    box-shadow:0 0 0 3px rgba(62,92,70,0.1); background:#fff; }
.form-input::placeholder { color: var(--t-4); }
.form-input:disabled { opacity:0.5; }
.form-row-vcode { display:flex; gap:10px; }
.form-row-vcode .form-input { flex:1; }
.vcode-btn { flex-shrink:0; padding:0 16px; background:transparent; color: var(--gold-2);
    border:1px solid var(--gold-2); border-radius:4px; font-size:12px; letter-spacing:2px;
    font-weight:500; white-space:nowrap; transition:all .2s; }
.vcode-btn:hover:not(:disabled) { background: var(--gold-2); color:#fff; }
.vcode-btn:disabled { opacity:0.45; cursor:not-allowed; }
.form-submit { width:100%; margin-top:8px; padding:13px; font-size:13px; letter-spacing:4px; }
.form-foot { text-align:center; margin-top:20px; font-size:12px; color: var(--t-3); letter-spacing:1px; }
.form-foot a { font-size:12px; }
.form-hint { font-size:11px; color: var(--t-4); margin-top:5px; letter-spacing:1px; }

/* Account */
.acct-wrap { max-width:1120px; margin:120px auto 60px; padding:0 24px; }
.acct-grid { display:grid; grid-template-columns:260px 1fr; gap:24px; }
.acct-side, .acct-panel { background:#fff; border:1px solid rgba(31,42,54,0.08); border-radius:6px; padding:32px; }
.acct-side { text-align:center; height:fit-content; }
.acct-avatar { width:68px; height:68px; border-radius:50%; margin:0 auto 14px;
    background:linear-gradient(135deg, var(--gold-1), var(--gold-3));
    display:flex; align-items:center; justify-content:center;
    font-size:26px; font-weight:800; color:#fff; }
.acct-n { font-size:16px; font-weight:700; letter-spacing:2px; color: var(--t-1); }
.acct-role { font-size:11px; color: var(--gold-2); letter-spacing:3px; margin-top:4px; }
.acct-dp { margin-top:20px; padding:18px; border-radius:4px;
    background: #F2F6F3; border:1px solid rgba(62,92,70,0.2); }
.acct-dp-l { font-size:10px; color: var(--gold-2); letter-spacing:4px; }
.acct-dp-v { font-family:Georgia,serif; font-size:30px; font-weight:700;
    background:linear-gradient(135deg, var(--gold-1), var(--gold-3));
    }
.acct-panel h3 { font-size:14px; letter-spacing:3px; color: var(--gold-2);
    padding-bottom:12px; border-bottom:1px solid rgba(62,92,70,0.15); margin-bottom:18px; font-weight:700; }
.acct-row { display:flex; justify-content:space-between; align-items:center;
    padding:14px 0; border-bottom:1px solid rgba(31,42,54,0.06); }
.acct-row:last-child { border-bottom:none; }
.acct-row-l { font-size:13px; color: var(--t-3); letter-spacing:2px; }
.acct-row-v { font-size:13px; color: var(--t-1); font-weight:500; }

/* Toast */
.toast { position:fixed; top:80px; left:50%; transform:translateX(-50%);
    padding:12px 28px; border-radius:4px; font-size:13px; letter-spacing:1px; z-index:9999;
    box-shadow:0 8px 28px rgba(0,0,0,0.15); border:1px solid; font-weight:500; animation:toastIn .3s; }
.toast-ok { background:rgba(78,140,63,0.1); border-color: var(--grass-2); color: var(--grass-2); }
.toast-err { background:rgba(200,62,88,0.1); border-color: #C83E58; color: #C83E58; }
@keyframes toastIn { from { opacity:0; transform:translate(-50%,-16px); } to { opacity:1; transform:translate(-50%,0); } }
.fade-up { opacity:0; transform:translateY(20px); transition:all .6s ease-out; }
.fade-up.visible { opacity:1; transform:translateY(0); }

/* Responsive */
@media (max-width:1024px) {
    .events-grid { grid-template-columns:1fr 1fr; }
    .event-main { grid-column:span 2; aspect-ratio:16/9; }
    .guide { grid-template-columns:repeat(2,1fr); }
    .about-teaser { grid-template-columns:1fr; }
    .footer-top { grid-template-columns:1fr 1fr; gap:32px; }
    .acct-grid { grid-template-columns:1fr; }
    .news-page { grid-template-columns:1fr; }
    .news-featured { grid-template-columns:1fr; }
}
@media (max-width:768px) {
    .nav-inner { padding:0 16px; }
    .nav-links { display:none; }
    .events-grid { grid-template-columns:1fr; }
    .event-main { grid-column:span 1; }
    .guide { grid-template-columns:repeat(2,1fr); gap:14px; }
    .footer { padding:40px 20px 24px; }
    .footer-top { grid-template-columns:1fr; gap:24px; }
    .home-section { padding:70px 20px; }
    .form-card { padding:24px 20px; }
    .news-list-row { grid-template-columns:1fr; }
}

/* Scrollbar */
::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:#f0f0f0; }
::-webkit-scrollbar-thumb { background: linear-gradient(180deg, var(--gold-2), var(--gold-3)); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, var(--gold-1), var(--gold-2)); }
::selection { background: rgba(62,92,70,0.25); color: var(--ink-0); }

/* ================================================================
   首页瘦身版 — 只留 Hero + 亮点入口卡
   ================================================================ */
.home-highlights { max-width:1240px; margin:0 auto; padding:80px 48px 100px;
    display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.hl-card { padding:40px 32px; background:#fff; border:1px solid rgba(31,42,54,0.08);
    border-radius:12px; position:relative; transition:transform .25s, box-shadow .25s; }
.hl-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(31,42,54,0.1); }
/* 顶边条退役（v71）：卡片靠 1px 边框与留白分割 */
.hl-icon { font-size:48px; margin-bottom:16px; }
.hl-cat { font-size:10px; letter-spacing:4px; color:var(--t-3); text-transform:uppercase; margin-bottom:8px; }
.hl-title { font-size:20px; font-weight:700; color:var(--ink-0); margin-bottom:12px; }
.hl-desc { font-size:13px; color:var(--t-2); line-height:1.7; margin-bottom:20px; }
.hl-link { font-size:12px; letter-spacing:2px; color:var(--gold-2); font-weight:600; }
@media (max-width: 900px) { .home-highlights { grid-template-columns:repeat(2,1fr); padding:60px 24px; } }
@media (max-width: 540px) { .home-highlights { grid-template-columns:1fr; } }

/* ================================================================
   features.html — 独立游戏特色专题页
   ================================================================ */
.features-page { max-width:1240px; margin:0 auto; padding:90px 48px 56px; }
.features-head { text-align:center; margin-bottom:16px; }
.fp-head-en { font-size:10px; letter-spacing:3px; color:var(--grass-3); font-weight:600; margin-bottom:4px; }
.fp-head-cn { font-size:27px; font-weight:700; color:var(--ink-0); letter-spacing:4px; margin-bottom:4px; }
.fp-head-desc { font-size:13px; color:var(--t-3); letter-spacing:1px; }

.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:80px; }
.fp-card { padding:0; border-radius:10px; position:relative; overflow:hidden;
    border:1px solid rgba(31,42,54,0.06); transition:transform .3s; }
.fp-card:hover { transform:translateY(-4px); }
.fp-grass { background:#fff; }
.fp-sky { background:#fff; }
.fp-gold { background:#fff; }
.fp-ruby { background:#fff; }
.fp-water { background:#fff; }
.fp-stone { background:#fff; }
.fp-cover { height:150px; overflow:hidden; background:#EDF2F7; }
.fp-cover img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.fp-card:hover .fp-cover img { transform:scale(1.06); }
.fp-body { padding:18px 22px 22px; }
.fp-num { display:inline-block; font-family:Georgia,serif;
    font-size:12px; color:var(--gold-2); letter-spacing:2px; margin-bottom:6px; }
.fp-ic { font-size:44px; margin-bottom:16px; }
.fp-t { font-size:20px; font-weight:700; color:var(--ink-0); margin-bottom:10px; }
.fp-d { font-size:13px; color:var(--t-2); line-height:1.8; }
@media (max-width: 900px) { .features-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 540px) { .features-grid { grid-template-columns:1fr; } }

/* 职业详解 */
.fp-classes { margin-bottom:80px; }
.fp-classes-head { text-align:center; font-size:28px; font-weight:700;
    letter-spacing:3px; color:var(--ink-0); margin-bottom:40px; }
.fp-classes-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.fp-class { padding:32px 24px; background:#fff; border:1px solid rgba(31,42,54,0.08); border-radius:8px; text-align:center; }
.fp-class-ic { font-size:40px; margin-bottom:12px; }
.fp-class-name { font-size:20px; font-weight:700; color:var(--ink-0); margin-bottom:4px; }
.fp-class-sub { font-size:11px; letter-spacing:2px; color:var(--gold-2); margin-bottom:12px; }
.fp-class-desc { font-size:12px; color:var(--t-3); line-height:1.7; }
.fp-warrior { border-bottom:3px solid #8B4513; }
.fp-mage { border-bottom:3px solid #4169E1; }
.fp-acrobat { border-bottom:3px solid #228B22; }
.fp-priest { border-bottom:3px solid #DAA520; }
@media (max-width: 900px) { .fp-classes-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 540px) { .fp-classes-grid { grid-template-columns:1fr; } }

.fp-cta { text-align:center; padding:60px 24px; background:#fff; border:1px solid rgba(62,92,70,0.2); border-radius:10px; }
.fp-cta h3 { font-size:26px; font-weight:700; letter-spacing:4px; color:var(--ink-0); margin-bottom:28px; }

/* ================================================================
   download.html — 独立下载页
   ================================================================ */
.download-page { max-width:900px; margin:0 auto; padding:90px 48px 56px; }
.dl-hero-card { text-align:center; padding:0 32px 64px; background:#fff;
    border:1px solid rgba(62,92,70,0.25); border-radius:12px; margin-bottom:48px;
    box-shadow:0 20px 60px rgba(31,42,54,0.06); position:relative; }
.dl-badge { font-size:10px; letter-spacing:3px; color:var(--gold-2); font-weight:700; margin-bottom:4px; }
.dl-hero-card h1 { font-size:27px; font-weight:700; color:var(--ink-0); letter-spacing:4px; margin-bottom:4px; }
.dl-version { font-size:12px; color:var(--t-3); letter-spacing:1px; margin-bottom:32px; }
.dl-specs { display:flex; justify-content:center; gap:40px; flex-wrap:wrap; margin-bottom:36px; }
.dl-spec { text-align:center; }
.dl-spec b { display:block; font-size:11px; letter-spacing:3px; color:var(--t-3); margin-bottom:4px; }
.dl-spec span { font-size:14px; color:var(--ink-0); font-weight:600; }
.dl-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.dl-btn-big { padding:14px 36px !important; font-size:15px !important; }

.dl-instructions, .dl-requirements, .dl-faq { margin-bottom:48px; }
.dl-instructions h2, .dl-requirements h2, .dl-faq h2 {
    font-size:22px; font-weight:700; letter-spacing:3px; color:var(--ink-0);
    margin-bottom:24px; padding-bottom:12px; border-bottom:1px solid rgba(31,42,54,0.08); }
.dl-instructions ol { padding-left:24px; }
.dl-instructions li { font-size:14px; color:var(--t-2); line-height:2; margin-bottom:4px; }
.dl-req-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.dl-req-label { font-size:16px; font-weight:700; letter-spacing:2px; color:var(--gold-2); margin-bottom:16px; }
.dl-req-col ul { list-style:none; padding:0; }
.dl-req-col li { font-size:13px; color:var(--t-2); line-height:2; padding:4px 0; border-bottom:1px solid rgba(31,42,54,0.04); }
.dl-req-col li b { color:var(--ink-0); }
@media (max-width: 600px) { .dl-req-grid { grid-template-columns:1fr; } }
.dl-faq-item { margin-bottom:16px; padding:16px 20px; background:#fff; border:1px solid rgba(31,42,54,0.06); border-radius:6px; }
.dl-faq-q { font-size:14px; font-weight:600; color:var(--ink-0); margin-bottom:8px; }
.dl-faq-a { font-size:13px; color:var(--t-2); line-height:1.7; }

/* ================================================================
   guide.html — 独立引导页
   ================================================================ */
.guide-page { max-width:1100px; margin:0 auto; padding:90px 48px 56px; }
.gp-head { text-align:center; margin-bottom:16px; }
.gp-head-en { font-size:10px; letter-spacing:3px; color:var(--grass-3); font-weight:600; margin-bottom:4px; }
.gp-head-cn { font-size:27px; font-weight:700; color:var(--ink-0); letter-spacing:4px; margin-bottom:4px; }
.gp-head-desc { font-size:13px; color:var(--t-3); }

.gp-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:72px; }
.gp-step { text-align:center; padding:36px 24px; background:#fff; border:1px solid rgba(31,42,54,0.08); border-radius:10px; position:relative; }
.gp-step-num { position:absolute; top:-16px; left:50%; transform:translateX(-50%);
    width:36px; height:36px; background:var(--gold-2); color:#fff; border-radius:50%;
    display:flex; align-items:center; justify-content:center; font-family:Georgia,serif; font-weight:700; font-size:14px; }
.gp-step-ic { font-size:40px; margin-bottom:12px; }
.gp-step-title { font-size:18px; font-weight:700; color:var(--ink-0); margin-bottom:8px; }
.gp-step-desc { font-size:12px; color:var(--t-2); line-height:1.7; margin-bottom:14px; }
.gp-step-link { font-size:12px; letter-spacing:2px; color:var(--gold-2); font-weight:600; }
@media (max-width: 900px) { .gp-steps { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 540px) { .gp-steps { grid-template-columns:1fr; } }

.gp-tips { margin-bottom:64px; }
.gp-tips h2 { text-align:center; font-size:22px; font-weight:700;
    letter-spacing:4px; color:var(--ink-0); margin-bottom:32px; }
.gp-tips-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.gp-tip { padding:24px; background:#fff; border:1px solid rgba(31,42,54,0.06); border-radius:8px; }
.gp-tip-ic { font-size:28px; margin-bottom:8px; }
.gp-tip-t { font-size:15px; font-weight:700; color:var(--ink-0); margin-bottom:6px; }
.gp-tip-d { font-size:12px; color:var(--t-2); line-height:1.7; }
@media (max-width: 700px) { .gp-tips-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 480px) { .gp-tips-grid { grid-template-columns:1fr; } }

.gp-cta { text-align:center; padding:50px 24px; background:linear-gradient(135deg,#F0F9EE,#E4F1FC);
    border-radius:10px; border:1px solid rgba(62,92,70,0.15); }
.gp-cta h3 { font-size:22px; font-weight:700; letter-spacing:4px; color:var(--ink-0); margin-bottom:20px; }

/* ================================================================
   events.html 新版组件
   ================================================================ */
.events-page { max-width:1240px; margin:0 auto; padding:90px 48px 56px; }
.ep-head { text-align:center; margin-bottom:16px; }
.ep-head-en { font-size:10px; letter-spacing:3px; color:var(--roof-2); font-weight:600; margin-bottom:4px; }
.ep-head-cn { font-size:27px; font-weight:700; color:var(--ink-0); letter-spacing:4px; margin-bottom:4px; }
.ep-head-desc { font-size:13px; color:var(--t-3); margin-bottom:0; }

.ep-main-card { position:relative; min-height:188px; border-radius:12px; overflow:hidden; margin-bottom:18px; border:1px solid rgba(31,42,54,0.07); box-shadow:0 4px 20px rgba(31,42,54,0.05); background:#FAF8F4; }
.ep-main-bg { position:absolute; inset:0; }
.ep-main-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(250,248,244,0.96) 0%,rgba(250,248,244,0.82) 34%,rgba(250,248,244,0.35) 58%,rgba(250,248,244,0) 78%); }
.ep-main-content { position:relative; z-index:2; padding:20px 44px; display:flex; flex-direction:column; justify-content:center; max-width:620px; }
.ep-main-tag { display:inline-block; padding:3px 11px; background:#3E5C46;
    color:#fff; font-size:11px; letter-spacing:3px; border-radius:20px; margin-bottom:8px; align-self:flex-start; }
.ep-main-title { font-size:21px; font-weight:700; color:var(--ink-0); margin-bottom:5px; letter-spacing:2px; }
.ep-main-desc { font-size:13px; color:var(--t-2); line-height:1.75; margin-bottom:10px; }
.ep-main-meta { display:flex; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--t-3); }

/* 国服式活动新闻列表（分类 Tab + 徽标行） */
.ev-news { margin-top:4px; background:#fff; border:1px solid rgba(31,42,54,0.07); border-radius:10px; overflow:hidden; box-shadow:0 4px 20px rgba(31,42,54,0.05); }
.ev-news-tabs { display:flex; gap:6px; padding:0 18px; border-bottom:2px solid rgba(31,42,54,0.07); }
.ev-news-tab { padding:14px 20px; font-size:14px; color:var(--t-3); cursor:pointer; position:relative; letter-spacing:1px; }
.ev-news-tab:hover { color:var(--t-1); }
.ev-news-tab.active { color:var(--ink-0); font-weight:700; }
.ev-news-tab.active::after { content:''; position:absolute; left:50%; transform:translateX(-50%); bottom:-2px; width:32px; height:3px; border-radius:2px; background:#3E5C46; }
.ev-news-tab .n { font-size:11px; color:var(--t-4); margin-left:3px; font-family:Georgia,serif; }
.ev-news-row { display:flex; align-items:center; gap:14px; padding:15px 22px; border-bottom:1px dashed rgba(31,42,54,0.08); cursor:pointer; transition:background .18s; text-decoration:none; color:inherit; }
.ev-news-row:last-child { border-bottom:none; }
.ev-news-row:hover { background:rgba(26,33,28,0.04); }
.ev-news-badge { flex:none; min-width:66px; text-align:center; font-size:11px; letter-spacing:2px; padding:4px 10px; border-radius:4px; color:#fff; font-weight:600; }
.ev-b-hot  { background:#3E5C46; }
.ev-b-live { background:linear-gradient(90deg,#4E8C3F,#8DC97A); }
.ev-b-soon { background:#3E5C46; }
.ev-b-ann  { background:linear-gradient(90deg,#2D4E6E,#4A6C8E); }
.ev-b-end  { background:#A5AEBD; }
.ev-news-title { flex:1; font-size:15px; color:var(--t-1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:0.5px; }
.ev-news-row:hover .ev-news-title { color:var(--roof-2); }
.ev-news-date { flex:none; font-size:13px; color:var(--t-4); font-family:Georgia,serif; letter-spacing:1px; }
@media (max-width: 540px) { .ep-main-content { padding:14px 20px; } .ev-news-row { padding:12px 14px; gap:10px; } .ev-news-tab { padding:12px 12px; font-size:13px; } .ev-news-title { font-size:13px; } }

/* ================================================================
   news.html 新版补充
   ================================================================ */
.news-page-head { text-align:center; margin-bottom:40px; padding:90px 24px 50px;
    background:linear-gradient(180deg,#fff,#F0F4F8); border:1px solid rgba(31,42,54,0.06); border-radius:8px; }
.np-head-en { font-size:10px; letter-spacing:3px; color:var(--sky-3); font-weight:600; margin-bottom:4px; }
.np-head-cn { font-size:27px; font-weight:700; color:var(--ink-0); letter-spacing:4px; margin-bottom:4px; }
.np-head-desc { font-size:13px; color:var(--t-3); margin-bottom:12px; }
.np-head-stats { font-size:12px; color:var(--t-3); }
.np-head-stats b { color:var(--ink-0); font-weight:600; }

.side-block { margin-bottom:28px; padding:20px; background:#fff; border:1px solid rgba(31,42,54,0.06); border-radius:6px; }
.side-block h3 { font-size:13px; font-weight:700; letter-spacing:3px; color:var(--ink-0); margin-bottom:12px; }
.side-block a { display:block; font-size:12px; color:var(--t-2); padding:6px 0; letter-spacing:1px; border-bottom:1px solid rgba(31,42,54,0.04); }
.side-block a:last-child { border:none; }
.side-block a.active { color:var(--sky-3); font-weight:600; }
.tag-list { display:flex; flex-wrap:wrap; gap:6px; }
.tag-list span { font-size:11px; padding:4px 10px; background:var(--sky-0); color:var(--sky-text); border-radius:14px; }
.side-sub-desc { font-size:11px; color:var(--t-3); margin-bottom:10px; }
.side-input { width:100%; padding:8px 10px; font-size:12px; border:1px solid rgba(31,42,54,0.1); background:#fff; border-radius:4px; }

.news-featured { display:flex; gap:24px; padding:24px; background:#fff; border:1px solid rgba(31,42,54,0.08); border-radius:8px; margin-bottom:32px; }
.news-featured-img { width:50%; min-height:240px; border-radius:6px; overflow:hidden; }
.news-featured-img img { width:100%; height:100%; object-fit:cover; }
.news-featured-body { flex:1; }
.news-featured-cat { display:inline-block; font-size:11px; letter-spacing:3px; color:var(--sky-3); font-weight:600; margin-bottom:10px; }
.news-featured-body h2 { font-size:20px; font-weight:700; color:var(--ink-0); margin-bottom:12px; line-height:1.5; }
.news-featured-excerpt { font-size:13px; color:var(--t-2); line-height:1.8; margin-bottom:16px; }
.news-featured-meta { display:flex; gap:16px; font-size:11px; color:var(--t-3); letter-spacing:1px; }
@media (max-width: 700px) { .news-featured { flex-direction:column; } .news-featured-img { width:100%; } }

.news-pager { text-align:center; margin-top:32px; display:flex; justify-content:center; gap:8px; }
.pager-btn { width:36px; height:36px; line-height:36px; text-align:center; font-size:12px; color:var(--t-2);
    border:1px solid rgba(31,42,54,0.1); border-radius:4px; cursor:pointer; }
.pager-btn.pager-active { background:var(--ink-0); color:#fff; border-color:var(--ink-0); }

/* about 补充 */
.about-stats-section { margin-bottom:64px; }
.about-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.about-stat-card { padding:32px 16px; text-align:center; background:#fff; border:1px solid rgba(62,92,70,0.15); border-radius:8px; }
.about-stat-v { font-family:Georgia,serif; font-size:32px; font-weight:700; color:var(--gold-2); letter-spacing:2px; margin-bottom:6px; }
.about-stat-l { font-size:12px; color:var(--t-3); letter-spacing:2px; }
@media (max-width: 540px) { .about-stats-grid { grid-template-columns:repeat(2,1fr); } }

/* ================================================================
   recharge.html — 独立充值页
   ================================================================ */
.recharge-page { max-width:1080px; margin:0 auto; padding:90px 48px 56px; }
.rc-head { text-align:center; margin-bottom:16px; }
.rc-head-en { font-size:10px; letter-spacing:3px; color:var(--gold-2); font-weight:600; margin-bottom:4px; }
.rc-head-cn { font-size:27px; font-weight:700; color:var(--ink-0); letter-spacing:4px; margin-bottom:4px; }
.rc-head-desc { font-size:13px; color:var(--t-3); }

/* 余额卡 */
.rc-balance-card { display:flex; align-items:center; justify-content:center; gap:20px;
    padding:28px 36px; background:linear-gradient(135deg,#FFFBEF,#FFF0D4);
    border:1px solid rgba(201,169,97,0.35); border-radius:10px; text-align:center; margin-bottom:48px; }
.rc-balance-l { font-size:11px; letter-spacing:4px; color:var(--t-3); }
.rc-balance-v { font-family:Georgia,serif; font-size:42px; font-weight:700;
    color:var(--ink-0); }
.rc-balance-unit { font-size:11px; letter-spacing:3px; color:var(--gold-2); font-weight:600; }

/* 套餐区 */
.rc-section { margin-bottom:40px; }
.rc-section-head { font-size:20px; font-weight:700; letter-spacing:4px; color:var(--ink-0); margin-bottom:24px; text-align:center; }
.rc-packages { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.rc-pkg { padding:22px 10px; border-radius:8px; text-align:center; cursor:pointer;
    background:#fff; border:1px solid rgba(62,92,70,0.15); transition:all .25s; position:relative; }
.rc-pkg:hover { border-color:rgba(62,92,70,0.4); transform:translateY(-3px); box-shadow:0 12px 30px rgba(62,92,70,0.15); }
.rc-pkg.active { border-color:var(--gold-2); background:#F2F6F3;
    box-shadow:0 12px 40px rgba(62,92,70,0.2); }
.rc-pkg.active::before { content:'✓'; position:absolute; top:10px; right:12px;
    width:22px; height:22px; background:var(--gold-2); color:#fff; border-radius:50%;
    font-size:12px; display:flex; align-items:center; justify-content:center; }
.rc-pkg-amt { font-family:Georgia,serif; font-size:36px; font-weight:700; color:var(--ink-0); line-height:1; }
.rc-pkg-l { font-size:10px; color:var(--t-3); letter-spacing:3px; margin-top:6px; }
.rc-pkg-n { font-size:13px; color:var(--ink-0); letter-spacing:2px; margin-top:10px; font-weight:600; }
.rc-pkg-price { font-size:13px; color:var(--gold-2); letter-spacing:1px; margin-top:14px;
    padding-top:12px; border-top:1px solid rgba(62,92,70,0.15); font-weight:600; }
.rc-pkg-amt { font-size:28px; }
.rc-pkg-n { font-size:12px; letter-spacing:1px; }
@media (max-width:1000px){ .rc-packages{ grid-template-columns:repeat(3,1fr); } .rc-pkg{ padding:26px 18px; } .rc-pkg-amt{ font-size:34px; } }
@media (max-width:560px){ .rc-packages{ grid-template-columns:repeat(2,1fr); } }

/* 支付区 */
.rc-pay-area { text-align:center; padding:40px; background:#fff; border:1px solid rgba(62,92,70,0.15); border-radius:10px; }
.rc-pay-btn { padding:14px 60px !important; font-size:16px !important; letter-spacing:4px !important; }
.rc-pay-tip { margin-top:20px; font-size:11px; color:var(--t-3); line-height:1.9; }

/* ================================================================
   account.html — 独立账号页
   ================================================================ */
.account-page { max-width:1100px; margin:0 auto; padding:90px 48px 56px; }
.ac-head { text-align:center; margin-bottom:16px; }
.ac-head-en { font-size:10px; letter-spacing:3px; color:var(--sky-3); font-weight:600; margin-bottom:4px; }
.ac-head-cn { font-size:27px; font-weight:700; color:var(--ink-0); letter-spacing:4px; margin-bottom:4px; }
.ac-head-desc { font-size:13px; color:var(--t-3); }

.ac-layout { display:grid; grid-template-columns:280px 1fr; gap:28px; }
@media (max-width: 800px) { .ac-layout { grid-template-columns:1fr; } }

/* 左侧用户卡 */
.ac-side { text-align:center; padding:36px 28px; background:#fff; border:1px solid rgba(31,42,54,0.08); border-radius:10px; }
.ac-avatar { width:80px; height:80px; margin:0 auto 16px;
    background:linear-gradient(135deg,var(--gold-1),var(--gold-2)); color:#fff;
    border-radius:50%; font-family:Georgia,serif; font-size:32px; font-weight:700;
    display:flex; align-items:center; justify-content:center; letter-spacing:1px; }
.ac-n { font-size:20px; font-weight:700; color:var(--ink-0); margin-bottom:4px; }
.ac-role { font-size:11px; letter-spacing:3px; color:var(--t-3); margin-bottom:24px; }
.ac-dp-card { padding:20px; background:linear-gradient(135deg,#FFF7E4,#FFFBEF);
    border:1px solid rgba(62,92,70,0.2); border-radius:8px; }
.ac-dp-l { font-size:10px; letter-spacing:3px; color:var(--t-3); margin-bottom:6px; }
.ac-dp-v { font-family:Georgia,serif; font-size:32px; font-weight:700; color:var(--gold-2); line-height:1; }

/* 右侧面板 */
.ac-panel { background:#fff; border:1px solid rgba(31,42,54,0.08); border-radius:10px; padding:36px 40px; }
.ac-section { margin-bottom:36px; }
.ac-section h3 { font-size:16px; font-weight:700; letter-spacing:3px; color:var(--ink-0);
    margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid rgba(31,42,54,0.06); }
.ac-row { display:flex; justify-content:space-between; align-items:center; padding:12px 0;
    border-bottom:1px solid rgba(31,42,54,0.04); }
.ac-row:last-child { border:none; }
.ac-row-l { font-size:13px; color:var(--t-2); letter-spacing:1px; }
.ac-row-v { font-size:13px; color:var(--ink-0); font-weight:600; }

/* 快捷入口 */
.ac-quick-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media (max-width: 700px) { .ac-quick-grid { grid-template-columns:repeat(2,1fr); } }
.ac-quick-item { padding:18px 12px; text-align:center; background:#fff;
    border:1px solid rgba(31,42,54,0.06); border-radius:8px; transition:all .2s; }
.ac-quick-item:hover { border-color:var(--gold-2); transform:translateY(-2px);
    box-shadow:0 10px 30px rgba(62,92,70,0.12); }
.ac-quick-ic { font-size:32px; margin-bottom:8px; }
.ac-quick-t { font-size:14px; font-weight:700; color:var(--ink-0); margin-bottom:3px; }
.ac-quick-d { font-size:11px; color:var(--t-3); letter-spacing:1px; }

/* ================================================================
   v5 POLISH — 官网级质感精修层（加载于最后，统一覆盖）
   ================================================================ */
/* v73: 标题字体统一继承正文字栈（Georgia 中文回落宋体导致全站字体割裂） */

/* 卡片统一：大圆角 + 分层柔和阴影 + 统一 hover 抬升 */
.hl-card,.fp-card,.fp-class,.gp-step,.gp-tip,.dl-faq-item,.dl-hero-card,
.rc-pkg,.rc-pay-area,.ac-side,.ac-panel,.ac-quick-item,.about-stat-card,
.side-block,.news-featured,.news-card,.feat,.g-item,.acct-side,.acct-panel,
.form-card,.fp-cta,.gp-cta,.about-cta,.news-page-head,.rc-balance-card,.ac-dp-card {
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(23,32,48,.04), 0 10px 30px rgba(23,32,48,.07);
    transition: transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s, border-color .3s;
}
.hl-card:hover,.fp-class:hover,.gp-step:hover,.gp-tip:hover,
.rc-pkg:hover,.ac-quick-item:hover,.news-card:hover,.feat:hover,.g-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 2px 6px rgba(23,32,48,.05), 0 22px 48px rgba(23,32,48,.13);
}

/* 按钮几何化（v71）：统一 2px 圆角，退役胶囊 */
.btn { border-radius: 2px; font-weight: 600; }
.vcode-btn,.form-input,.side-input { border-radius: 10px; }

/* Nav 精修 */
.nav { height: 68px; }
.nav-inner { max-width: 1360px; padding: 0 40px; }
.nav-links { gap: 34px; }
.nav-links a.active::after { height: 2px; border-radius: 2px; bottom: -4px; }
.nav.dark { background: linear-gradient(180deg, rgba(10,16,38,.62) 0%, rgba(10,16,38,.28) 60%, rgba(10,16,38,0) 100%); }

/* Hero 微调 */
.home-hero-content { top: 44%; }

/* 图标芯片体系（替代彩色 emoji） */
.ic-chip { width:56px; height:56px; border-radius:16px; display:flex; align-items:center;
    justify-content:center; color:#fff; flex-shrink:0; }
.ic-chip svg { width:26px; height:26px; }
.hl-card .ic-chip { margin: 0 0 18px; }
/* 金线线框圆徽（v78）：按 v71 预览稿执行——透明底+香槟金描边+金线图标 */
.ic-grass, .ic-sky, .ic-gold, .ic-roof, .ic-water, .ic-violet, .ic-ink {
    background:transparent; border:1.5px solid rgba(201,169,97,0.8);
    border-radius:50%; color:#C9A961; box-shadow:none; }

/* 表单图标芯片居中 */
.form-icon .ic-chip { width:50px; height:50px; border-radius:15px; margin:0 auto 10px; }
/* 新闻缩略芯片居中 */
.news-list-row-img .ic-chip { margin:0; }

/* Footer 金色分隔线 */
.footer-top { border-bottom-color: rgba(243,227,184,.14); }
.footer-col h4 { letter-spacing: 4px; }

/* v100 — 页脚菜单与顶部大菜单统一：6 项同序横排 */
.footer-top .footer-menu { display:flex; align-items:center; flex-wrap:wrap; }
.footer-menu a { display:inline-block; padding:0 10px; font-size:11px; line-height:1.6;
    letter-spacing:1px; color:var(--t-2); }
.footer-menu a:hover { color:var(--gold-2); }

/* 适龄提示浮层精修 */
.adult-tip { border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.14); }

/* ================================================================
   v7 — 收窄内容区 + Footer 深蓝主色系
   ================================================================ */
/* 首页亮点卡区收窄 */
.home-highlights { max-width: 1080px; padding: 80px 32px 100px; }
/* Footer：浅色主色系（与上方白色/浅灰内容区同源） */
.footer { background: linear-gradient(180deg, #FAFBFD 0%, #EFF3F8 100%); border-top: 1px solid rgba(31,42,54,0.08); color: var(--t-2); }
.footer-top { border-bottom-color: rgba(31,42,54,0.10); }
.footer-brand img { filter: none; }
.footer-col h4 { color: var(--gold-2); }
.footer-col a { color: var(--t-2); }
.footer-col a:hover { color: var(--gold-2); }
.footer-top, .footer-bot { max-width: 1140px; }
.footer-adult { background: rgba(255,255,255,0.08); }

/* ================================================================
   v8 — 上下紧凑化（图一亮点区 / 图二页脚，纵向收紧）
   ================================================================ */
/* 图一：首页亮点卡区 */
.home-highlights { padding: 48px 32px 56px; }
.home-highlights .sec-head { margin-bottom: 36px; }
.hl-card { padding: 26px 26px 24px; }
.hl-card .ic-chip { margin: 0 0 12px; }
.hl-title { margin-bottom: 8px; }
.hl-desc { margin-bottom: 12px; line-height: 1.65; }
/* 图二：页脚 */
.footer { padding: 40px 48px 28px; }
.footer-top { gap: 40px; padding-bottom: 32px; }
.footer-brand img { height: 30px; margin-bottom: 10px; }
.footer-brand p { line-height: 1.7; }
.footer-col h4 { margin-bottom: 10px; }
.footer-col a { padding: 3px 0; }
.footer-bot { padding-top: 16px; gap: 10px; }
.footer-adult { display:none; }

/* ================================================================
   v10 — 继续收窄，消除空旷感
   ================================================================ */
.home-highlights { max-width: 960px; padding: 40px 24px 48px; gap: 16px; }
.home-highlights .sec-head { margin-bottom: 28px; }
.hl-card { padding: 22px 22px 20px; }
.hl-card .ic-chip { width: 48px; height: 48px; border-radius: 13px; margin: 0 0 10px; }
.hl-card .ic-chip svg { width: 22px; height: 22px; }
.hl-title { font-size: 17px; margin-bottom: 6px; }
.hl-desc { font-size: 12px; margin-bottom: 10px; }
.hl-link { font-size: 11px; }
.footer { padding: 32px 40px 22px; }
.footer-top, .footer-bot { max-width: 960px; }
.footer-top { gap: 32px; padding-bottom: 24px; }
.footer-brand img { height: 28px; }

/* ================================================================
   v11 — 撤回左右收窄，恢复原始内容宽度（纵向紧凑保留）
   ================================================================ */
.home-highlights { max-width: 1240px; }
.footer-top, .footer-bot { max-width: 1440px; }

/* ================================================================
   v12 — Footer 重排：单行紧凑条（logo 左 + 链接横排右 + 版权居中）
   ================================================================ */
.footer { padding: 22px 48px 18px; }

/* ---- 页脚全局压到首屏之下（20261024 终版）：min-height 保底 + JS padFooter 动态精确补偿 ----
   注意：body 必须保持 block（flex 化会改变全站宽度行为，20261024 用户实测否决），
   贴底由 common.js padFooter 按页脚实际高度给 footer 动态 margin-top 实现 */
.home-page, .news-page-bg, .events-page-bg, .about-page-bg, .features-page-bg,
.download-page-bg, .guide-page-bg, .recharge-page-bg, .account-page-bg {
    min-height: calc(100vh + 230px);
}
.footer-top { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-bottom: 14px; }
.footer-brand { display: flex; align-items: center; gap: 14px; }
.footer-brand img { height: 26px; margin-bottom: 0; }
.footer-brand p { display: none; }
.footer-top .footer-col { display: flex; align-items: center; }
.footer-col ul { margin: 0; padding: 0; list-style: none; display: flex; }
.footer-col h4 { margin: 0 12px 0 0; font-size: 12px; }
.footer-col a { display: inline-block; padding: 0 9px; font-size: 11px; line-height: 1.6; }
.footer-bot { padding-top: 10px; justify-content: center; gap: 20px; text-align: center; }
@media (max-width: 1024px) {
    .footer-top { flex-wrap: wrap; justify-content: center; }
    .footer-brand { width: 100%; justify-content: center; }
}

/* ================================================================
   v13 — nav 品牌区精简：logo 图 + 飞飞：新纪元
   ================================================================ */
.nav-logo-cn { font-size: 9px; letter-spacing: 4px; color: var(--gold-3); font-weight: 500; white-space: nowrap; }

/* ================================================================
   v14 — 右下角社交悬浮栏 + 微信二维码卡片（仿 ff.ruiwoo.cn）
   ================================================================ */
.sns-dock { position: fixed; right: 18px; bottom: 96px; z-index: 90; display: flex; flex-direction: column; gap: 8px; }
.sns-btn { width: 40px; height: 40px; border-radius: 12px; background: rgba(125,195,235,.92); border: none; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 14px rgba(31,59,88,.25); transition: transform .2s ease, background .2s ease; padding: 0; text-decoration: none; }
.sns-btn:hover { transform: translateY(-2px); background: rgba(105,180,228,1); }
.sns-btn svg { width: 20px; height: 20px; }
.sns-btn > img { width: 20px; height: 20px; display: block; }
.sns-btn span { font-size: 15px; font-weight: 700; color: #fff; }
.sns-btn.red { background: #E64545; }
.sns-btn.red:hover { background: #D63A3A; }
.sns-btn.kook { background: #7FE626; overflow: hidden; }
.sns-btn.kook:hover { background: #7FE626; transform: translateY(-2px); }
.sns-btn.kook img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.15); display: block; }
.sns-qr { position: fixed; right: 72px; bottom: 96px; z-index: 91; background: #fff; border-radius: 16px; padding: 16px 16px 10px; box-shadow: 0 12px 40px rgba(31,59,88,.3); display: none; text-align: center; }
.sns-qr.show { display: block; }
.sns-qr canvas { display: block; border-radius: 8px; }
.sns-qr p { margin: 8px 0 2px; font-size: 12px; color: #4A6C8E; }
@media (max-width: 640px) {
    .sns-dock { right: 12px; bottom: 80px; }
    .sns-qr { right: 60px; bottom: 80px; }
}

/* ================================================================
   v62 — 整页沉浸式背景：全页铺首页 keyvisual（不只是顶部）
   ================================================================ */
/* 整页背景（v67 终局）：body 只留深蓝兜底，图+渐变统一由 ::before 承载 */
.news-page-bg, .events-page-bg, .about-page-bg, .features-page-bg,
.download-page-bg, .guide-page-bg, .recharge-page-bg, .account-page-bg, .form-page-bg {
    background: #0D162E;
}
/* 图 + 暗色渐变 合成一个 fixed 视口基准层（= 首页 hero 同构），
   渐变四段与 hero::before 完全同参 → 导航栏区域配色与首页严格一致 */
.news-page-bg::before, .events-page-bg::before, .about-page-bg::before,
.features-page-bg::before, .download-page-bg::before, .guide-page-bg::before,
.recharge-page-bg::before, .account-page-bg::before, .form-page-bg::before {
    content:''; position: fixed; top: 0; left: 0; right: 0; bottom: 0; height: auto;
    background:
        linear-gradient(180deg, rgba(13,22,46,0.55) 0%, rgba(13,22,46,0.32) 38%, rgba(13,22,46,0.48) 62%, rgba(13,22,46,0.72) 100%),
        url('/images/hero_keyvisual.jpg') 52% 50%/118% no-repeat #0D162E;
    -webkit-mask-image: none; mask-image: none; filter: none;
    z-index: -1;
}
@media (max-width: 640px) {
    .news-page-bg::before, .events-page-bg::before, .about-page-bg::before,
    .features-page-bg::before, .download-page-bg::before, .guide-page-bg::before,
    .recharge-page-bg::before, .account-page-bg::before, .form-page-bg::before {
        position: absolute; height: 100%;
        background:
            linear-gradient(180deg, rgba(13,22,46,0.55) 0%, rgba(13,22,46,0.32) 38%, rgba(13,22,46,0.48) 62%, rgba(13,22,46,0.72) 100%),
            url('/images/hero_keyvisual.jpg') 52% 50%/cover no-repeat #0D162E;
    }
}
/* 内容容器 = 暖白玻璃板悬浮在图上（深底上所有文字保持可读，无需逐个翻色） */
.events-page-bg .events-page, .news-page-bg .news-page,
.about-page-bg .about-narrative-page, .features-page-bg .features-page,
.download-page-bg .download-page, .guide-page-bg .guide-page,
.recharge-page-bg .recharge-page, .account-page-bg .account-page {
    background: rgba(250,248,244,0.86);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(10,16,38,0.35);
}
@media (max-width: 1320px) {
    .events-page-bg .events-page, .news-page-bg .news-page,
    .about-page-bg .about-narrative-page, .features-page-bg .features-page,
    .download-page-bg .download-page, .guide-page-bg .guide-page,
    .recharge-page-bg .recharge-page, .account-page-bg .account-page {
        margin-left: 20px; margin-right: 20px;
    }
}
/* 表单页（登录/注册等）无容器类：白卡直接浮在暗图上，卡片阴影加深一档 */
.form-page-bg .form-card { box-shadow: 0 24px 70px rgba(10,16,38,0.5); }

/* ================================================================
   v63 — 主页式沉浸内容层：拆掉玻璃背板，文字直接坐在背景图上
   （白卡片保留悬浮；裸文字全部翻成主页式白/金配色）
   ================================================================ */
/* 1) 拆玻璃板：内容容器恢复透明，仅保留间距 */
.events-page-bg .events-page, .news-page-bg .news-page,
.about-page-bg .about-narrative-page, .features-page-bg .features-page,
.download-page-bg .download-page, .guide-page-bg .guide-page,
.recharge-page-bg .recharge-page, .account-page-bg .account-page {
    background: transparent;
    backdrop-filter: none; -webkit-backdrop-filter: none;
    border-radius: 0; box-shadow: none;
}
/* 2) 页头（五族）→ 主页式白金配色 */
.ep-head-en, .fp-head-en, .gp-head-en, .rc-head-en, .ac-head-en {
    color: rgba(243,227,184,0.9); text-shadow: 0 1px 8px rgba(0,0,0,0.45);
}
.ep-head-cn, .fp-head-cn, .gp-head-cn, .rc-head-cn, .ac-head-cn {
    color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,0.55);
}
.ep-head-desc, .fp-head-desc, .gp-head-desc, .rc-head-desc, .ac-head-desc {
    color: rgba(255,255,255,0.80); text-shadow: 0 1px 6px rgba(0,0,0,0.5);
}
/* 3) 新闻页头：拆掉浅色头卡，改为裸文字 */
.news-page-bg .news-page-head {
    background: transparent; border: none; box-shadow: none !important;
    text-shadow: 0 2px 18px rgba(0,0,0,0.55);
}
.news-page-bg .np-head-en { color: rgba(243,227,184,0.9); }
.news-page-bg .np-head-cn { color: #fff; }
.news-page-bg .np-head-desc, .news-page-bg .np-head-stats { color: rgba(255,255,255,0.78); }
.news-page-bg .np-head-stats b { color: #fff; }
/* 4) 下载页：头卡改裸文字，步骤/配置小节翻色 */
.download-page-bg .dl-hero-card {
    background: transparent; border: none; box-shadow: none !important;
}
.download-page-bg .dl-hero-card h1 { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,0.55); }
.download-page-bg .dl-version, .download-page-bg .dl-spec b { color: rgba(255,255,255,0.75); }
.download-page-bg .dl-spec span { color: #fff; }
.download-page-bg .dl-instructions h2, .download-page-bg .dl-requirements h2, .download-page-bg .dl-faq h2 {
    color: #fff; border-bottom-color: rgba(255,255,255,0.18);
}
.download-page-bg .dl-instructions li, .download-page-bg .dl-req-col li { color: rgba(255,255,255,0.82); }
.download-page-bg .dl-req-col li { border-bottom-color: rgba(255,255,255,0.10); }
.download-page-bg .dl-req-col li b { color: #fff; }
/* 5) 引导页提示标题 / 充值页小节标题 */
.guide-page-bg .gp-tips h2 { color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,0.5); }
.recharge-page-bg .rc-section-head { color: #fff; text-shadow: 0 2px 14px rgba(0,0,0,0.5); }
/* 6) 关于页正文（标题本就是金色，正文翻浅） */
.about-page-bg .about-section p { color: rgba(255,255,255,0.85); }
.about-page-bg .about-section h2 { border-bottom-color: rgba(201,169,97,0.3); }

/* ================================================================
   v65 — 全站导航统一（终版方案）：所有子页 <nav> 直接挂 dark 类，
   与主页共用 .nav.dark 同一套规则（含 869 行精修渐变 + blur），
   删除 v64 的 :is() 仿制覆盖层，杜绝两套样式漂移。
   ================================================================ */

/* ================================================================
   v75 — 子页页头全站统一（基础规则已同参）：本层只负责深底翻色
   ================================================================ */
.features-page-bg .fp-head-en { color:rgba(243,227,184,0.9); }
.features-page-bg .fp-head-cn { color:#fff; background:none; }
.features-page-bg .fp-head-desc { color:rgba(255,255,255,0.78); }
.features-page-bg .fp-card { background:#fff; border:1px solid rgba(31,42,54,0.07); box-shadow:0 4px 20px rgba(31,42,54,0.05); }
.features-page-bg .fp-card:hover { box-shadow:0 10px 30px rgba(31,42,54,0.10); }
.features-page-bg .fp-cover { border-radius:0; }
.features-page-bg .fp-num { color:var(--roof-2); }
.features-page-bg .fp-t { color:var(--ink-0); }
.features-page-bg .fp-d { color:var(--t-2); }
.features-page-bg .fp-class { background:transparent; border:none; }
.features-page-bg .fp-class-name { color:#fff; }
.features-page-bg .fp-class-sub { color:#D9BC7E; }
.features-page-bg .fp-class-desc { color:rgba(255,255,255,0.78); }
.features-page-bg .fp-cta { background:transparent; border:none; }
.features-page-bg .fp-cta h3 { color:#fff; }

/* ================================================================
   v114 — 移动端现代化自适应（≤768px 平板 / ≤480px 手机）
   原则：纯媒体查询覆盖层，桌面端表现零改动
   ================================================================ */
@media (max-width: 768px) {
    /* ---- 导航：紧凑不折行 ---- */
    .nav { height: 56px; }
    .nav-inner { padding: 0 12px; gap: 8px; }
    .nav-logo { gap: 8px; }
    .nav-logo img { height: 26px; }
    .nav-logo-cn { font-size: 8px; letter-spacing: 2px; }
    .nav-actions { gap: 6px; }
    .nav-actions .btn-sm { padding: 5px 10px; font-size: 11px; letter-spacing: 0.5px; white-space: nowrap; }

    /* ---- Hero 首屏：背景铺满 + 内容流式重排 ---- */
    .home-hero { min-height: 100svh;
        background: url('/images/hero_keyvisual.jpg') 50% 38%/cover no-repeat; }
    .home-hero-content { position: relative; top: auto; left: auto; transform: none;
        min-height: 100svh; display: flex; flex-direction: column; justify-content: center;
        padding: 72px 20px 64px; margin: 0 auto; }
    .home-hero-en img { width: min(240px, 64vw); }
    .home-hero-subtitle { font-size: 10px; letter-spacing: 3px; gap: 12px; margin-bottom: 10px; }
    .home-hero-subtitle::before, .home-hero-subtitle::after { width: 28px; }
    .home-hero-desc { font-size: 13px; line-height: 1.9; max-width: 320px; margin-bottom: 28px; }
    .home-hero-actions { gap: 10px; }
    .home-hero-actions .btn-lg { padding: 12px 22px; font-size: 13px; letter-spacing: 1px; }
    .home-hero-arrow { bottom: 26px; }
    .home-hero::after { height: 60px; }

    /* ---- 内容区通用收紧 ---- */
    .home-section { padding: 56px 18px; }
    .sec-head { margin-bottom: 36px; }
    .features-page, .download-page, .guide-page, .events-page,
    .recharge-page, .account-page, .about-narrative-page { padding-left: 16px; padding-right: 16px; }
    .about-hero-text h1 { letter-spacing: 2px; }

    /* ---- 页脚下沉余量收紧 + 竖排 ---- */
    .home-page, .news-page-bg, .events-page-bg, .about-page-bg, .features-page-bg,
    .download-page-bg, .guide-page-bg, .recharge-page-bg, .account-page-bg {
        min-height: 100vh;
    }
    .footer { padding: 24px 16px 16px; }
    .footer-top { flex-direction: column; gap: 14px; text-align: center; }
    .footer-menu { justify-content: center; }
    .footer-bot { flex-direction: column; gap: 6px; }

    /* ---- 悬浮元素缩小让位 ---- */
    .adult-tip { left: 10px; bottom: 10px; padding: 6px 8px; }
    .adult-tip-icon { width: 28px; height: 28px; font-size: 12px; }
    .sns-dock { bottom: 70px; }

    /* ---- 表单/充值卡 ---- */
    .form-wrap { padding: 20px 14px 50px; }
    .rc-balance-card { flex-direction: column; gap: 4px; padding: 20px; }
    .rc-pay-btn { padding: 13px 36px !important; font-size: 14px !important; letter-spacing: 2px !important; }
}

@media (max-width: 480px) {
    /* 极窄屏：导航只留 logo 图，按钮纵向铺满 */
    .nav-logo-cn { display: none; }
    .nav-actions .btn-sm { padding: 5px 9px; }
    .home-hero-en img { width: min(210px, 66vw); }
    .home-hero-actions { flex-direction: column; align-items: stretch; }
    .home-hero-actions .btn-lg { width: 100%; max-width: 280px; margin: 0 auto; }
    .hl-card { padding: 22px 18px; }
}

/* 按钮：文字永不折行（移动端导航拥挤时也不许断字） */
.btn { white-space: nowrap; flex-shrink: 0; }

@media (max-width: 768px) {
    .nav-actions { flex-shrink: 0; }
    .nav-logo { flex-shrink: 1; min-width: 0; }
    /* Hero 背景窄屏构图修正：焦点上移 + 兜底深色，避免天空裁切发灰 */
    .home-hero { background-color: #14203A;
        background: url('/images/hero_keyvisual.jpg') 50% 30%/cover no-repeat #14203A; }
    .home-hero::before { background: linear-gradient(180deg, rgba(13,22,46,0.62) 0%, rgba(13,22,46,0.42) 38%, rgba(13,22,46,0.5) 62%, rgba(13,22,46,0.78) 100%); }
}

/* ---- v114b：移动端汉堡菜单（common.js 注入按钮，下拉展开导航） ---- */
.nav-burger { display:none; width:36px; height:36px; padding:8px 7px; background:transparent;
    border:none; cursor:pointer; flex-direction:column; justify-content:space-between; }
.nav-burger span { display:block; height:2px; border-radius:2px; background:var(--t-1);
    transition:transform .25s, opacity .2s; }
.nav.dark .nav-burger span { background:#F3E3B8; }
.nav-burger.m-open span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.nav-burger.m-open span:nth-child(2) { opacity:0; }
.nav-burger.m-open span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

/* ≤992px 全部启用汉堡导航（769~992 桌面导航挤不下会折行，一并收进汉堡） */
@media (max-width: 992px) {
    .nav-links { display:none; }
    .nav-burger { display:flex; order:2; margin-left:auto; }
    .nav-actions { order:3; }
    .nav-logo { order:1; }
    /* 下拉菜单：挂在固定导航下方 */
    .nav-links.m-open { display:flex !important; flex-direction:column; gap:0;
        position:absolute; top:100%; left:0; right:0; padding:6px 16px 12px;
        background:rgba(255,255,255,0.97); backdrop-filter:blur(12px);
        border-bottom:1px solid rgba(31,42,54,0.08); box-shadow:0 14px 28px rgba(31,42,54,0.12);
        animation:mMenuIn .18s ease; }
    .nav.dark .nav-links.m-open { background:rgba(14,21,48,0.95); }
    .nav.dark .nav-links.m-open a { color:rgba(255,255,255,0.85); }
    .nav.dark .nav-links.m-open a.active { color:#F3E3B8; }
    .nav-links.m-open a { padding:11px 2px; border-bottom:1px solid rgba(31,42,54,0.06); white-space:nowrap; }
    .nav-links.m-open a:last-child { border-bottom:none; }
    .nav-links.m-open a.active::after { display:none; }
    .nav-links.m-open a.active { font-weight:700; }
}
@keyframes mMenuIn { from { opacity:0; transform:translateY(-6px);} to { opacity:1; transform:translateY(0);} }