@charset "UTF-8";

/* Shared accessible foundations. Each theme below changes layout and composition. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 5px; }
button, input, textarea, select { font: inherit; }
button:disabled { cursor: not-allowed; opacity: .72; }
button, a { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 5px; }
h1, h2, h3, p, figure { margin: 0; }
img { max-width: 100%; display: block; }
.game-page {
    --bg: #10150f; --surface: #192018; --soft: #222c20; --ink: #edf2e7;
    --muted: #abb5a6; --line: #354332; --accent: #c4e77a; --on-accent: #14210a;
    background: var(--bg); color: var(--ink);
    font-family: "Segoe UI", "Microsoft YaHei", sans-serif; line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}
.container { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.muted { color: var(--muted); }
.skip-link { position: absolute; left: 15px; top: -80px; z-index: 100; padding: 10px; background: var(--accent); color: var(--on-accent); }
.skip-link:focus { top: 10px; }
.preview-notice { text-align: center; font-size: 12px; padding: 8px 16px; background: var(--accent); color: var(--on-accent); }
.site-header { border-bottom: 1px solid var(--line); background: var(--bg); position: relative; z-index: 5; }
.header-inner { min-height: 90px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.game-brand { display: flex; align-items: center; gap: 14px; font-size: 16px; font-weight: 750; max-width: 42%; line-height: 1.5; }
.game-brand > span:last-child { overflow-wrap: anywhere; }
.game-brand:hover { text-decoration: none; }
.game-brand small { display: block; font-size: 9px; letter-spacing: 2px; color: var(--muted); font-weight: 500; margin-top: 5px; }
.brand-emblem { flex: 0 0 42px; width: 42px; height: 44px; display: grid; place-content: center; border: 1px solid var(--accent); color: var(--accent); font-size: 23px; line-height: .9; font-style: italic; font-weight: 900; transform: skew(-7deg); }
.brand-emblem span { font-size: 13px; justify-self: end; }
.main-nav { display: flex; gap: 26px; font-size: 13px; color: var(--muted); }
.main-nav a:hover { color: var(--ink); }
.download-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; border: 1px solid var(--accent); background: var(--accent); color: var(--on-accent); padding: 16px 28px; min-height: 54px; font-size: 15px; font-weight: 800; letter-spacing: .4px; border-radius: 3px; white-space: nowrap; cursor: pointer; }
.download-button:hover { text-decoration: none; filter: brightness(1.08); }
.download-button.compact { padding: 10px 18px; font-size: 13px; min-height: 42px; }
.eyebrow { color: var(--accent); font: 600 11px/1.6 "Consolas", "Microsoft YaHei", monospace; letter-spacing: 2px; display: block; }
.hero { padding-block: 70px 48px; overflow: clip; }
.hero-copy { position: relative; z-index: 1; min-width: 0; }
.hero-copy h1 { font-size: clamp(32px, 3.9vw, 59px); line-height: 1.25; letter-spacing: -1.5px; font-weight: 850; margin: 24px 0; overflow-wrap: anywhere; }
.hero-description { color: var(--muted); font-size: 15px; line-height: 1.95; max-width: 660px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; margin-top: 32px; }
.text-button { display: inline-flex; align-items: center; gap: 22px; font-size: 14px; padding-block: 12px; }
.text-button span { color: var(--accent); font-size: 20px; }
.hero-footnote { display: flex; gap: 12px; align-items: center; margin-top: 28px; color: var(--muted); font-size: 11px; }
.hero-footnote i { width: 3px; height: 3px; background: var(--accent); }
.game-visual { position: relative; min-width: 0; min-height: 330px; overflow: hidden; background: var(--surface); border: 1px solid var(--line); }
.visual-grid { background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 44px 44px; }
.visual-grid::after { content: ""; position: absolute; inset: 25px; border: 1px solid var(--accent); opacity: .28; clip-path: polygon(0 0, 17% 0, 17% 1%, 1% 1%, 1% 17%, 0 17%, 0 0, 100% 0, 100% 17%, 99% 17%, 99% 1%, 83% 1%, 83% 0, 100% 0, 100% 100%, 83% 100%, 83% 99%, 99% 99%, 99% 83%, 100% 83%, 100% 100%, 0 100%, 0 83%, 1% 83%, 1% 99%, 17% 99%, 17% 100%, 0 100%); pointer-events: none; }
.visual-coordinate { display: flex; justify-content: space-between; gap: 8px; padding: 18px 20px; font: 9px/1.5 Consolas, monospace; letter-spacing: 1px; color: var(--muted); }
.visual-rings { width: 220px; height: 220px; margin: 20px auto 28px; display: grid; place-items: center; position: relative; }
.visual-rings i { position: absolute; inset: 0; border: 1px solid var(--accent); border-radius: 50%; opacity: .3; }
.visual-rings i:nth-child(2) { inset: 28px; border-style: dashed; opacity: .55; }
.visual-rings i:nth-child(3) { inset: 60px; opacity: .6; }
.visual-rings b { font: italic 900 80px/1 "Arial Black", Impact, sans-serif; letter-spacing: -8px; padding-right: 8px; color: var(--accent); }
.crosshair::before, .crosshair::after { content: ""; position: absolute; background: var(--accent); opacity: .4; }
.crosshair::before { width: 260px; height: 1px; left: -20px; top: 110px; }
.crosshair::after { width: 1px; height: 260px; left: 110px; top: -20px; }
.visual-caption { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 17px 24px; border-top: 1px solid var(--line); background: var(--surface); }
.visual-caption strong { font-size: 19px; letter-spacing: 3px; }
.visual-caption > span { font: 10px/1.5 Consolas, monospace; letter-spacing: 1px; text-align: right; color: var(--muted); }
.visual-photo img { width: 100%; height: 100%; min-height: 330px; max-height: 540px; object-fit: cover; }
.visual-photo figcaption { position: absolute; inset: auto 0 0; padding: 18px 22px; background: linear-gradient(transparent,rgba(0,0,0,.8)); color: white; display: flex; justify-content: space-between; font-size: 11px; letter-spacing: 2px; }
.hero .visual-photo { aspect-ratio: 4/3; min-height: 0; }
.hero .visual-photo img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; max-height: none; object-fit: cover; }
.hero-index { display: grid; gap: 0; min-width: 0; }
.hero-index > .eyebrow { margin-bottom: 15px; }
.hero-index a { display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--line); padding: 15px 0; font-size: 12px; }
.hero-index a b { font: 13px Consolas, monospace; color: var(--accent); }
.hero-index a span { flex: 1; }
.hero-index a em { font-style: normal; color: var(--muted); }
.chapter-bar { border-block: 1px solid var(--line); display: flex; align-items: center; gap: 26px; padding-block: 17px; font-size: 12px; }
.chapter-bar > span { color: var(--accent); margin-right: auto; font-weight: 700; white-space: nowrap; }
.chapter-bar > span b { margin-left: 20px; }
.chapter-bar a { color: var(--muted); }
.section-block { padding-block: 74px 14px; }
.section-heading { margin-bottom: 30px; }
.section-heading h2 { font-size: 29px; line-height: 1.5; letter-spacing: -.6px; margin-top: 10px; overflow-wrap: anywhere; }
.section-heading > p { color: var(--muted); font-size: 14px; margin-top: 9px; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.feature-card { padding: 26px; background: var(--surface); border: 1px solid var(--line); min-width: 0; }
.card-index { display: flex; justify-content: space-between; color: var(--accent); font: 19px/1.4 Consolas, monospace; margin-bottom: 36px; }
.card-index b { font: 17px "Segoe UI", sans-serif; }
.feature-card h3 { font-size: 17px; margin-bottom: 12px; }
.feature-card p { font-size: 13px; color: var(--muted); line-height: 1.9; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.gallery-grid figure { min-width: 0; background: var(--surface); border: 1px solid var(--line); }
.gallery-grid img { width: 100%; aspect-ratio: 3/2; height: auto; object-fit: cover; }
.gallery-grid figcaption { display: flex; gap: 15px; justify-content: space-between; padding: 15px 18px; font-size: 12px; }
.gallery-grid figcaption span { min-width: 0; overflow-wrap: anywhere; line-height: 1.8; }
.gallery-grid figcaption b { flex-shrink: 0; color: var(--accent); font-family: Consolas, monospace; }
.guide-list { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.guide-list li { padding: 28px; min-width: 0; border-right: 1px solid var(--line); }
.guide-list li:last-child { border-right: 0; }
.guide-number { font: italic 700 38px/1.2 Consolas, monospace; color: var(--accent); display: block; margin-bottom: 25px; }
.guide-list h3 { font-size: 16px; margin-bottom: 10px; }
.guide-list p { color: var(--muted); font-size: 13px; }
.article-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 50px; align-items: start; }
.article-nav { position: sticky; top: 24px; border-top: 2px solid var(--accent); padding-top: 20px; }
.article-nav > span { display: block; font-size: 12px; color: var(--muted); margin-bottom: 15px; }
.article-nav a { display: flex; gap: 16px; padding: 13px 0; font-size: 12px; border-bottom: 1px solid var(--line); }
.article-nav b { color: var(--accent); font: 12px/1.8 Consolas, monospace; }
.article-body { background: var(--surface); border: 1px solid var(--line); padding: 8px 42px; }
.article-part { padding: 35px 0; border-bottom: 1px solid var(--line); }
.article-part:last-child { border-bottom: 0; }
.part-number { color: var(--muted); font: 10px/1.5 Consolas, monospace; letter-spacing: 1px; }
.article-part h3 { font-size: 23px; margin: 12px 0 20px; line-height: 1.55; }
.article-part p { font-size: 15px; line-height: 2.05; color: var(--muted); margin-top: 14px; overflow-wrap: anywhere; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); padding: 24px 8px; }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary h3 { font-size: 16px; font-weight: 650; }
.faq-list summary > span { color: var(--accent); font-size: 22px; transition: transform .15s; }
.faq-list details[open] summary > span { transform: rotate(45deg); }
.faq-list details > div { padding-top: 16px; max-width: 880px; color: var(--muted); font-size: 14px; }
.download-panel { display: flex; align-items: center; justify-content: space-between; gap: 32px; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--accent); padding: 38px 44px; margin-top: 76px; }
.download-panel h2 { font-size: 25px; margin: 9px 0; overflow-wrap: anywhere; }
.download-panel p { color: var(--muted); font-size: 13px; }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 28px; }
.related-card { display: block; position: relative; min-width: 0; border-top: 1px solid var(--line); padding: 20px 30px 20px 0; }
.related-card > span { color: var(--muted); font-size: 11px; }
.related-card h3 { font-size: 14px; font-weight: 600; line-height: 1.8; margin-top: 6px; overflow-wrap: anywhere; }
.related-card > b { position: absolute; right: 0; top: 28px; color: var(--accent); font-size: 18px; }
.site-footer { margin-top: 65px; padding-block: 32px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 30px; color: var(--muted); font-size: 12px; }
.site-footer strong { color: var(--ink); font-size: 14px; margin-right: 22px; }
.site-footer > a { white-space: nowrap; }
.pending-panel, .error-panel { padding: 65px 30px; border: 1px solid var(--line); }
.pending-panel p, .error-panel p { color: var(--muted); margin-top: 20px; }
.error-panel { margin-block: 80px; }

/* 01 · 荒野战术: two-column command sheet, bounded footer rail. */
.hero-tactical .hero-main { display: grid; grid-template-columns: 1.12fr 1fr; gap: 65px; align-items: center; }
.hero-tactical .game-visual { transform: rotate(2deg); }
.hero-tactical .hero-bottom { margin-top: 55px; border-top: 1px solid var(--line); padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; font-size: 11px; color: var(--muted); }
.hero-tactical .hero-bottom b { font: 10px Consolas, monospace; letter-spacing: 2px; color: var(--accent); }

/* 02 · 黑金竞技: centered title and symmetric presentation. */
.theme-obsidian { --bg:#11100e; --surface:#1b1915; --soft:#2b251a; --ink:#f6f0e4; --muted:#b9b0a0; --line:#3d3528; --accent:#ecc66b; --on-accent:#211803; }
.hero-obsidian { text-align: center; }
.edition-label { font: italic 900 35px/1 Impact,sans-serif; color: var(--accent); display: flex; align-items: center; justify-content: center; gap: 20px; margin-bottom: 32px; }
.edition-label span { font: 10px Consolas,monospace; border-block: 1px solid var(--line); padding: 8px 0; letter-spacing: 3px; }
.hero-obsidian .hero-copy { max-width: 850px; margin-inline: auto; }
.hero-obsidian .hero-copy h1 { font-size: clamp(34px,4.7vw,65px); }
.hero-obsidian .hero-description { margin-inline: auto; }
.hero-obsidian .hero-actions, .hero-obsidian .hero-footnote { justify-content: center; }
.obsidian-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; align-items: center; max-width: 890px; margin: 48px auto 0; text-align: left; }
.obsidian-grid .game-visual { min-height: 240px; }
.obsidian-grid .visual-rings { width: 150px; height: 150px; margin-block: 0 20px; }
.obsidian-grid .visual-rings i:nth-child(3) { inset: 42px; }
.obsidian-grid .crosshair { display: none; }
.theme-obsidian .feature-card { border-top: 3px solid var(--accent); text-align: center; }

/* 03 · 极光脉冲: reversed visual, large poster typography. */
.theme-aurora { --bg:#121020; --surface:#1d1930; --soft:#2c2345; --ink:#f3edff; --muted:#bcb0d4; --line:#3c3256; --accent:#c3a0ff; --on-accent:#231038; }
.hero-aurora { position: relative; padding-top: 24px; }
.giant-word { font: italic 900 clamp(80px,16vw,210px)/.95 Impact,sans-serif; color: var(--line); letter-spacing: -8px; display: block; opacity: .6; }
.aurora-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; margin-top: -30px; }
.aurora-layout .game-visual { border-radius: 130px 130px 12px 12px; transform: rotate(-3deg); }
.aurora-layout .hero-copy { padding-top: 20px; }
.aurora-strip { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 35px 0 20px; font: 12px Consolas,monospace; color: var(--accent); }
.aurora-strip span { color: var(--muted); }
.theme-aurora .feature-grid { grid-template-columns: repeat(2,1fr); }
.theme-aurora .feature-card { border-radius: 16px; display: grid; grid-template-columns: 50px 1fr; gap: 8px 20px; }
.theme-aurora .card-index { grid-row: span 2; margin: 0; flex-direction: column; justify-content: flex-start; gap: 20px; }
.theme-aurora .feature-card p { grid-column: 2; }
.theme-aurora .download-button { border-radius: 99px; }

/* 04 · 冰川指令: bright technical layout with a vertical label. */
.theme-glacier { --bg:#f0f6fa; --surface:#fff; --soft:#e1edf5; --ink:#142e42; --muted:#526b7c; --line:#c8dce8; --accent:#096aaf; --on-accent:#fff; }
.hero-glacier { display: grid; grid-template-columns: 120px 1.1fr .8fr; gap: 35px; align-items: center; }
.glacier-side { align-self: stretch; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: 35px; padding-top: 18px; }
.glacier-side > span { font: 11px Consolas,monospace; color: var(--muted); }
.glacier-side strong { font-size: 34px; line-height: 1.4; letter-spacing: 5px; }
.glacier-side a { font-size: 11px; margin-top: auto; margin-bottom: 20px; }
.hero-glacier .hero-copy h1 { font-size: clamp(30px,3.4vw,48px); }
.hero-glacier .hero-index { margin-top: 30px; }
.hero-glacier .game-visual { align-self: stretch; }
.theme-glacier .article-body { box-shadow: 0 10px 30px #142e4206; }
.theme-glacier .feature-card { border-bottom: 3px solid var(--accent); }

/* 05 · 赤焰突袭: diagonal panel and warning-style rail. */
.theme-crimson { --bg:#130c0d; --surface:#211316; --soft:#34171d; --ink:#fff0f0; --muted:#c5a8ae; --line:#48242c; --accent:#ff605c; --on-accent:#260603; }
.alert-strip { background: var(--accent); color: var(--on-accent); padding: 8px 0; font: 10px/1.5 Consolas,"Microsoft YaHei",monospace; letter-spacing: 1px; }
.alert-strip .container { display: flex; justify-content: space-between; }
.hero-crimson { display: grid; grid-template-columns: 1.1fr 1fr; gap: 70px; align-items: center; }
.crimson-art { position: relative; padding-bottom: 15px; }
.crimson-art .game-visual { clip-path: polygon(10% 0,100% 0,100% 85%,90% 100%,0 100%,0 15%); }
.stencil { position: absolute; bottom: 30px; right: 12px; font: italic 900 45px/.9 Impact,sans-serif; color: var(--accent); text-shadow: 2px 2px var(--bg); }
.theme-crimson .download-button { clip-path: polygon(8% 0,100% 0,100% 80%,94% 100%,0 100%,0 22%); border-radius: 0; }
.theme-crimson .feature-card { border-left: 3px solid var(--accent); }

/* 06 · 沙漠行动: warm briefing sheet with a horizontal index. */
.theme-desert { --bg:#eee5d4; --surface:#f8f2e7; --soft:#e6d6be; --ink:#3b3020; --muted:#776449; --line:#d0bfa1; --accent:#8c571e; --on-accent:#fff6e8; }
.desert-masthead { display: flex; justify-content: space-between; border-block: 1px solid var(--ink); padding: 12px 0; font: 11px/1.5 Consolas,"Microsoft YaHei",monospace; }
.desert-body { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; padding: 45px 0; align-items: center; }
.hero-desert > .hero-index { grid-template-columns: 160px repeat(3,1fr); gap: 22px; align-items: start; }
.hero-desert > .hero-index > span { padding-top: 16px; }
.theme-desert .feature-grid { gap: 0; border-block: 1px solid var(--line); }
.theme-desert .feature-card { background: transparent; border: 0; border-right: 1px solid var(--line); }
.theme-desert .feature-card:last-child { border-right: 0; }
.theme-desert .article-body { background: transparent; border: 0; padding-top: 0; }

/* 07 · 暗夜侦察: radar-first composition and narrow copy panel. */
.theme-nightfall { --bg:#071813; --surface:#0d251d; --soft:#16392a; --ink:#e7f8ed; --muted:#91b8a4; --line:#26503e; --accent:#7ae5a3; --on-accent:#072b15; }
.hero-nightfall { display: grid; grid-template-columns: 1.15fr 1fr; gap: 58px; align-items: center; }
.hero-nightfall > .game-visual { border-radius: 50% 50% 8px 8px; min-height: 460px; }
.hero-nightfall .visual-rings { width: 270px; height: 270px; margin-block: 32px; }
.hero-nightfall .visual-rings b { font-size: 100px; }
.hero-nightfall .crosshair { display: none; }
.recon-label { border: 1px solid var(--line); display: inline-block; padding: 8px 14px; font-size: 10px; letter-spacing: 2px; color: var(--muted); margin-bottom: 30px; }
.theme-nightfall .feature-grid { grid-template-columns: repeat(2,1fr); }
.theme-nightfall .feature-card { padding: 32px; }
.theme-nightfall .guide-list { border: 0; gap: 16px; }
.theme-nightfall .guide-list li { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }

/* 08 · 终端矩阵: a complete terminal frame, not a fake software dashboard. */
.theme-terminal { --bg:#0c100d; --surface:#131c16; --soft:#1a2b1f; --ink:#e0f7e5; --muted:#9ab5a1; --line:#2b4933; --accent:#a9f080; --on-accent:#102306; }
.terminal-frame { border: 1px solid var(--line); }
.terminal-title { padding: 12px 22px; border-bottom: 1px solid var(--line); font: 11px Consolas,monospace; display: flex; gap: 22px; color: var(--muted); }
.terminal-title > span { letter-spacing: 4px; color: var(--accent); }
.terminal-body { display: grid; grid-template-columns: 1.25fr .75fr; gap: 50px; padding: 38px; }
.prompt-line { display: block; color: var(--accent); font: 11px Consolas,monospace; margin-bottom: 25px; }
.terminal-body .game-visual { min-height: 160px; margin-top: 20px; }
.terminal-body .visual-rings { width: 140px; height: 140px; margin: 0 auto 10px; }
.terminal-body .visual-rings i:nth-child(3), .terminal-body .crosshair, .terminal-body .visual-caption { display: none; }
.terminal-body .visual-rings b { font-size: 60px; }
.terminal-status { padding: 13px 22px; border-top: 1px solid var(--line); font: 10px Consolas,"Microsoft YaHei",monospace; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); }
.theme-terminal .feature-grid { gap: 0; border: 1px solid var(--line); }
.theme-terminal .feature-card { border: 0; border-right: 1px solid var(--line); }
.theme-terminal .article-nav { font-family: Consolas,"Microsoft YaHei",monospace; }

/* 09 · 巅峰赛场: full-bleed esports wordmark and split poster. */
.theme-arena { --bg:#11110f; --surface:#20201a; --soft:#302d1b; --ink:#f7f4e5; --muted:#beb9a4; --line:#46422e; --accent:#ffbe3d; --on-accent:#241700; }
.hero-arena { position: relative; padding-top: 22px; background: linear-gradient(135deg,var(--surface),var(--bg)); }
.arena-word { font: italic 900 clamp(100px,20vw,280px)/.8 Impact,sans-serif; color: var(--line); opacity: .45; letter-spacing: -10px; text-align: center; }
.arena-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 65px; align-items: center; margin-top: -30px; }
.arena-card { transform: skew(-3deg); border: 1px solid var(--accent); padding: 10px; }
.arena-card > span { display: block; padding: 12px; font: 11px Consolas,monospace; color: var(--accent); letter-spacing: 2px; }
.arena-bottom { display: flex; justify-content: space-between; border-top: 1px solid var(--line); margin-top: 45px; padding-top: 22px; font-size: 11px; }
.theme-arena .feature-card { position: relative; border-bottom: 3px solid var(--accent); }
.theme-arena .section-heading h2 { font-size: 34px; }

/* 10 · 蓝图计划: blueprint grid and horizontal contents rail. */
.theme-blueprint { --bg:#102e49; --surface:#173a57; --soft:#214e6f; --ink:#eff7ff; --muted:#b0c9dd; --line:#3a627f; --accent:#b5deff; --on-accent:#103657; }
.hero-blueprint { background-image: linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size: 30px 30px; border-inline: 1px solid var(--line); margin-top: 35px; padding: 24px 28px; }
.blueprint-heading { display: flex; justify-content: space-between; font: 10px Consolas,monospace; color: var(--muted); letter-spacing: 1px; }
.blueprint-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 45px; align-items: center; padding-block: 40px; }
.blueprint-grid .hero-copy { padding: 18px; background: var(--bg); }
.blueprint-index { background: var(--bg); padding: 20px; }
.blueprint-index .hero-index { grid-template-columns: 140px repeat(3,1fr); gap: 20px; align-items: center; }
.theme-blueprint .article-body, .theme-blueprint .feature-card { background: transparent; }
.theme-blueprint .guide-list { gap: 10px; border: 0; }
.theme-blueprint .guide-list li { border: 1px solid var(--line); }

/* 11 · 信号频段: central focal point and signal station footer. */
.theme-signal { --bg:#0b191d; --surface:#11272d; --soft:#1a3940; --ink:#e4f8fa; --muted:#9cbfc4; --line:#2b5058; --accent:#6edfe5; --on-accent:#082b2e; }
.hero-signal { text-align: center; max-width: 980px; }
.signal-marker { display: inline-flex; align-items: center; gap: 12px; font: 10px Consolas,monospace; margin-bottom: 30px; }
.signal-marker i { width: 8px; height: 8px; background: var(--accent); border-radius: 50%; box-shadow: 0 0 0 6px var(--soft); }
.signal-marker b { border-left: 1px solid var(--line); padding-left: 12px; font-family: "Microsoft YaHei",sans-serif; }
.hero-signal .hero-description { margin-inline: auto; }
.hero-signal .hero-actions, .hero-signal .hero-footnote { justify-content: center; }
.signal-band { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; border-block: 1px solid var(--line); margin-top: 45px; padding-block: 15px; font-size: 11px; color: var(--muted); }
.hero-signal > .game-visual { margin-top: 24px; min-height: 180px; display: flex; align-items: center; justify-content: space-around; }
.hero-signal > .visual-photo { aspect-ratio: 3/1; max-height: 280px; }
.hero-signal .visual-rings { width: 130px; height: 130px; margin: 20px; flex-shrink: 0; }
.hero-signal .visual-rings b { font-size: 65px; }
.hero-signal .crosshair, .hero-signal .visual-rings i:nth-child(3) { display: none; }
.hero-signal .visual-caption { flex-direction: column; border: 0; background: transparent; }
.theme-signal .faq-section { display: grid; grid-template-columns: 1fr 2fr; gap: 50px; }

/* 12 · 机密档案: paper dossier with a spine and red stamp. */
.theme-dossier { --bg:#f3f0e9; --surface:#fffdf7; --soft:#e9e3d8; --ink:#262b2b; --muted:#686e6a; --line:#d5d4ca; --accent:#a9392e; --on-accent:#fff; }
.hero-dossier { display: grid; grid-template-columns: 32px 1.35fr .8fr; gap: 34px; }
.dossier-spine { writing-mode: vertical-rl; letter-spacing: 3px; font: 11px Consolas,"Microsoft YaHei",monospace; border-right: 1px solid var(--line); padding-right: 15px; }
.dossier-paper { position: relative; padding: 36px; background: var(--surface); border: 1px solid var(--line); box-shadow: 7px 7px 0 var(--soft); }
.dossier-stamp { float: right; border: 2px solid var(--accent); padding: 7px 12px; color: var(--accent); transform: rotate(7deg); font: 10px/1.5 Consolas,"Microsoft YaHei",monospace; margin: -18px -12px 10px 15px; text-align: center; }
.dossier-paper .hero-index { margin-top: 35px; }
.dossier-visual { align-self: center; }
.dossier-visual > span { display: block; margin-top: 15px; font-size: 11px; color: var(--muted); }
.hero-dossier .hero-copy h1 { font-size: clamp(30px,3.5vw,46px); }
.theme-dossier .feature-grid { grid-template-columns: repeat(2,1fr); }
.theme-dossier .feature-card { background: transparent; border: 0; border-top: 1px solid var(--ink); }
.theme-dossier .article-layout { gap: 35px; }

/* 13 · 先锋行动: large cobalt opening and stepped lower panel. */
.theme-vanguard { --bg:#f0f3fa; --surface:#fff; --soft:#e2e9f8; --ink:#142449; --muted:#59698d; --line:#c9d4eb; --accent:#2253bc; --on-accent:#fff; }
.hero-vanguard { background: #173e94; color: #fff; padding-bottom: 0; }
.vanguard-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; }
.hero-vanguard .hero-copy { --muted:#c9d8ff; --accent:#d7f298; --on-accent:#192c05; }
.vanguard-heading .eyebrow { color: #c9d8ff; }
.lead-word { display: block; font: italic 900 clamp(65px,8vw,115px)/.95 Impact,sans-serif; letter-spacing: -2px; padding-top: 24px; }
.vanguard-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; align-items: center; padding: 28px; margin-top: 40px; background: var(--bg); color: var(--ink); }
.vanguard-bottom .game-visual { min-height: 220px; }
.vanguard-bottom .visual-rings { height: 130px; width: 130px; margin-block: 0 15px; }
.vanguard-bottom .visual-rings i:nth-child(3), .vanguard-bottom .crosshair { display: none; }
.theme-vanguard .guide-list { border-top: 3px solid var(--accent); }

/* 14 · 空降集结: wide cover above a boarding-pass introduction. */
.theme-airfield { --bg:#edf4f9; --surface:#fff; --soft:#ddebf5; --ink:#203d54; --muted:#587487; --line:#c6dbe8; --accent:#116b9e; --on-accent:#fff; }
.hero-airfield { padding-top: 32px; }
.airfield-cover { position: relative; }
.airfield-cover .game-visual { width: 100%; min-height: 260px; height: 300px; }
.airfield-cover .visual-rings { margin: 0 18% 0 auto; }
.airfield-cover .visual-caption { display: none; }
.airfield-overlay { position: absolute; left: 40px; bottom: 40px; display: flex; flex-direction: column; }
.airfield-overlay > span { font: 11px Consolas,monospace; letter-spacing: 3px; }
.airfield-overlay > b { font-size: clamp(30px,4vw,55px); margin-top: 15px; letter-spacing: 3px; }
.airfield-intro { display: grid; grid-template-columns: 1.4fr .6fr; gap: 75px; margin-top: 42px; }
.boarding-pass { align-self: start; border: 1px solid var(--line); background: var(--surface); padding: 26px; }
.boarding-pass > span { font: 10px Consolas,monospace; letter-spacing: 1px; color: var(--accent); }
.boarding-pass strong { display: block; font-size: 22px; margin: 16px 0 22px; }
.boarding-pass div { font-size: 12px; color: var(--muted); padding: 20px 0; border-block: 1px dashed var(--line); }
.boarding-pass b { display: block; margin-top: 8px; color: var(--ink); }
.boarding-pass > a { display: block; padding-top: 20px; font-size: 12px; color: var(--accent); }
.theme-airfield .feature-card { border: 0; border-radius: 12px; box-shadow: 0 5px 20px #203d5408; }

/* 15 · 地铁前线: line diagram and station-layout masthead. */
.theme-metro { --bg:#141513; --surface:#20221c; --soft:#303327; --ink:#f5f2df; --muted:#bcbba5; --line:#424633; --accent:#e8b955; --on-accent:#2d2004; }
.metro-rail { display: flex; align-items: center; gap: 20px; border-bottom: 1px solid var(--line); padding-bottom: 22px; font-size: 12px; }
.metro-rail > b { background: var(--accent); color: var(--on-accent); font: 900 26px/1.5 Arial,sans-serif; padding-inline: 12px; }
.metro-rail > i { height: 3px; background: var(--accent); flex: 1; position: relative; }
.metro-rail > i::after { content: ""; width: 12px; height: 12px; border: 3px solid var(--accent); background: var(--bg); border-radius: 50%; position: absolute; right: 20%; top: -5px; }
.metro-platform { display: grid; grid-template-columns: 1.4fr .6fr; gap: 70px; padding-block: 38px; align-items: center; }
.metro-cover { display: flex; align-items: stretch; gap: 25px; }
.metro-cover .game-visual { flex: 1; min-height: 180px; display: flex; justify-content: space-around; align-items: center; }
.metro-cover .visual-photo { aspect-ratio: 5/1; }
.metro-cover .visual-rings { width: 140px; height: 140px; margin: 20px; }
.metro-cover .crosshair, .metro-cover .visual-rings i:nth-child(3) { display: none; }
.metro-cover > span { writing-mode: vertical-rl; font-size: 11px; color: var(--muted); letter-spacing: 3px; }
.theme-metro .guide-list { display: block; border: 0; max-width: 900px; }
.theme-metro .guide-list li { display: flex; gap: 26px; border: 0; border-left: 2px solid var(--accent); padding: 12px 0 32px 28px; margin-left: 20px; }
.theme-metro .guide-number { margin: 0; font-size: 25px; }

/* 16 · 装备工坊: inventory arrangement and compact feature grid. */
.theme-arsenal { --bg:#1b1f23; --surface:#252b31; --soft:#343c43; --ink:#eff2f4; --muted:#b2bfc9; --line:#46525c; --accent:#ffb16e; --on-accent:#331802; }
.arsenal-tag { display: flex; justify-content: space-between; font: 12px Consolas,monospace; letter-spacing: 2px; color: var(--muted); margin-bottom: 34px; }
.arsenal-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 65px; align-items: center; }
.inventory { padding: 14px; background: var(--soft); border: 1px solid var(--line); }
.inventory-label { font: 10px Consolas,monospace; padding: 0 4px 13px; color: var(--muted); letter-spacing: 2px; }
.inventory-slots { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 10px; }
.inventory-slots span { border: 1px solid var(--line); background: var(--bg); text-align: center; padding: 15px 5px; color: var(--accent); font-size: 11px; }
.theme-arsenal .feature-grid { grid-template-columns: repeat(2,1fr); }
.theme-arsenal .feature-card { display: grid; grid-template-columns: 70px 1fr; column-gap: 22px; }
.theme-arsenal .card-index { grid-row: span 2; font-size: 30px; margin: 0; flex-direction: column; justify-content: flex-start; gap: 20px; }
.theme-arsenal .feature-card p { grid-column: 2; }

/* 17 · 落日边界: cinematic circle and floating photo panel. */
.theme-horizon { --bg:#201818; --surface:#2c2120; --soft:#402b26; --ink:#fff0e5; --muted:#cbb1a5; --line:#584035; --accent:#ffbc91; --on-accent:#3e1b0b; }
.hero-horizon { position: relative; background: linear-gradient(120deg,var(--bg),#42291e); }
.horizon-orbit { position: absolute; height: 520px; width: 520px; border-radius: 50%; border: 1px solid var(--line); top: -50px; right: -40px; box-shadow: 0 0 0 50px #ffbc9105,0 0 0 100px #ffbc9103; }
.horizon-content { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: center; position: relative; }
.horizon-picture { transform: rotate(4deg); padding: 12px; border: 1px solid var(--line); background: var(--surface); }
.horizon-picture > span { display: block; padding: 16px 4px 4px; font: 10px Consolas,monospace; letter-spacing: 2px; color: var(--accent); }
.horizon-line { display: flex; justify-content: space-between; margin-top: 50px; border-top: 1px solid var(--line); padding-top: 22px; font-size: 11px; }
.theme-horizon .feature-card { border-radius: 20px 20px 0 0; }
.theme-horizon .article-body { border: 0; background: transparent; padding-top: 0; }

/* 18 · 赛博回路: asymmetric corner cuts and staggered data cards. */
.theme-circuit { --bg:#110e1a; --surface:#211a2d; --soft:#31223e; --ink:#f7edff; --muted:#c1aed0; --line:#493056; --accent:#f29ddb; --on-accent:#35102b; }
.circuit-rail { display: flex; align-items: center; gap: 20px; margin-bottom: 40px; }
.circuit-rail > span { color: #8deded; font: italic 900 34px Impact,sans-serif; }
.circuit-rail > i { height: 1px; background: var(--line); flex: 1; }
.circuit-rail > b { font: 10px Consolas,monospace; letter-spacing: 2px; color: var(--muted); }
.circuit-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: center; }
.circuit-copy { border-left: 2px solid #8deded; padding-left: 26px; }
.circuit-art { position: relative; padding: 12px; border: 1px solid var(--accent); clip-path: polygon(0 0,85% 0,100% 15%,100% 100%,15% 100%,0 85%); }
.circuit-corner { position: absolute; right: 15px; bottom: 20px; padding: 6px 10px; background: var(--bg); color: #8deded; font: 9px Consolas,monospace; }
.hero-circuit > .hero-index { grid-template-columns: 160px repeat(3,1fr); gap: 25px; margin-top: 45px; align-items: center; }
.theme-circuit .feature-grid { grid-template-columns: repeat(2,1fr); gap: 24px; }
.theme-circuit .feature-card:nth-child(even) { transform: translateY(14px); }
.theme-circuit .feature-card { border-left-color: #8deded; }

/* 19 · 战地特刊: editorial cover, ruled masthead, reading columns. */
.theme-chronicle { --bg:#f1efe7; --surface:#faf9f2; --soft:#e7e4d8; --ink:#292c27; --muted:#6b7163; --line:#c7cabc; --accent:#626c2f; --on-accent:#fff; }
.hero-chronicle { padding-top: 28px; }
.chronicle-name { display: flex; justify-content: space-between; align-items: end; border-top: 5px solid var(--ink); border-bottom: 1px solid var(--ink); padding: 20px 0; gap: 20px; }
.chronicle-name > strong { font-size: clamp(36px,5vw,64px); letter-spacing: 8px; line-height: 1.1; }
.chronicle-name > span { font: 10px Consolas,"Microsoft YaHei",monospace; letter-spacing: 1px; }
.chronicle-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 45px; align-items: center; margin-top: 38px; }
.photo-note { font-size: 11px; padding-top: 10px; color: var(--muted); }
.chronicle-bottom { display: flex; justify-content: space-between; gap: 20px; border-block: 1px solid var(--ink); padding-block: 17px; margin-top: 36px; font-size: 11px; }
.chronicle-bottom > span { font: 10px/1.8 Consolas,monospace; }
.theme-chronicle .article-nav { display: none; }
.theme-chronicle .article-layout { display: block; }
.theme-chronicle .article-body { column-count: 2; column-gap: 50px; background: transparent; border: 0; padding: 0; }
.theme-chronicle .article-part { break-inside: avoid; padding-top: 0; margin-bottom: 35px; }
.theme-chronicle .feature-grid { border-top: 3px solid var(--ink); }
.theme-chronicle .feature-card { background: transparent; border: 0; }

/* 20 · 山野远征: journal margin and expedition route list. */
.theme-expedition { --bg:#eaf0e6; --surface:#f9fbf5; --soft:#dbe6d3; --ink:#263f31; --muted:#607762; --line:#c1d0ba; --accent:#376941; --on-accent:#fff; }
.hero-expedition { display: grid; grid-template-columns: 225px 1fr; gap: 35px; }
.expedition-title { display: flex; flex-direction: column; gap: 20px; border-right: 1px solid var(--line); padding-right: 22px; }
.expedition-title > span:first-child { font: 10px Consolas,monospace; letter-spacing: 1px; }
.expedition-title > strong { font-size: 34px; line-height: 1.55; }
.journal-arrow { font-size: 85px; line-height: 1.1; margin-top: auto; color: var(--accent); }
.expedition-content { display: grid; grid-template-columns: 1.15fr .85fr; gap: 32px; align-items: center; }
.hero-expedition .hero-copy h1 { font-size: clamp(29px,3.3vw,46px); }
.hero-expedition .game-visual { min-height: 100%; }
.hero-expedition .visual-rings { width: 155px; height: 155px; margin-block: 30px; }
.hero-expedition .visual-rings i:nth-child(3), .hero-expedition .crosshair { display: none; }
.hero-expedition .visual-coordinate { font-size: 8px; padding-inline: 10px; }
.hero-expedition .visual-caption { flex-direction: column; }
.hero-expedition > .hero-index { grid-column: 2; grid-template-columns: 120px repeat(3,1fr); gap: 20px; align-items: center; margin-top: 12px; }
.theme-expedition .guide-list { grid-template-columns: 1fr 1fr; gap: 18px; border: 0; }
.theme-expedition .guide-list li { display: flex; gap: 24px; border: 1px solid var(--line); background: var(--surface); }
.theme-expedition .guide-number { margin: 0; }
.theme-expedition .feature-card { border: 0; border-top: 2px solid var(--accent); background: transparent; }

/* Tablet and mobile layouts preserve reading order and the top download entry. */
@media (max-width:1050px) {
    .container { width: calc(100% - 48px); }
    .main-nav { gap: 16px; }
    .feature-grid, .guide-list { grid-template-columns: repeat(2,1fr); }
    .guide-list li { border-bottom: 1px solid var(--line); }
    .guide-list li:nth-child(even) { border-right: 0; }
    .article-layout { grid-template-columns: 190px minmax(0,1fr); gap: 30px; }
    .article-body { padding-inline: 28px; }
    .hero-main, .aurora-layout, .hero-crimson, .desert-body, .hero-nightfall, .arena-grid, .blueprint-grid, .vanguard-grid, .arsenal-grid, .horizon-content, .circuit-grid, .chronicle-grid { gap: 35px !important; }
    .hero-glacier { grid-template-columns: 90px 1.2fr .8fr; gap: 22px; }
    .hero-glacier .game-visual { display: none; }
    .hero-glacier > div { grid-column: 2/4; }
    .hero-expedition { grid-template-columns: 160px 1fr; gap: 25px; }
    .expedition-content { display: block; }
    .expedition-content .game-visual { display: none; }
    .hero-dossier { grid-template-columns: 25px 1.3fr .7fr; gap: 22px; }
    .dossier-paper { padding: 26px; }
}
@media (max-width:720px) {
    html { scroll-padding-top: 25px; }
    .container { width: calc(100% - 36px); }
    .header-inner { min-height: 80px; gap: 12px; }
    .game-brand { max-width: calc(100% - 150px); font-size: 13px; gap: 9px; }
    .game-brand small { font-size: 7px; letter-spacing: .6px; }
    .brand-emblem { flex-basis: 33px; width: 33px; height: 35px; font-size: 19px; }
    .brand-emblem span { font-size: 11px; }
    .main-nav { display: none; }
    .download-button.compact { font-size: 12px; padding: 10px 12px; }
    .hero { padding-block: 38px 30px; }
    .hero-copy h1 { font-size: 34px !important; letter-spacing: -.9px; margin: 18px 0; }
    .hero-description { font-size: 14px; }
    .eyebrow { font-size: 9px; letter-spacing: 1.3px; }
    .hero-actions { gap: 20px; margin-top: 25px; }
    .download-button { padding: 14px 20px; min-height: 50px; font-size: 14px; }
    .hero-footnote { margin-top: 20px; font-size: 10px; }
    .game-visual { min-height: 285px; }
    .visual-rings { width: 180px; height: 180px; margin-block: 15px; }
    .visual-rings b { font-size: 75px; }
    .crosshair { display: none; }
    .visual-coordinate { padding: 15px; font-size: 8px; }
    .visual-caption { padding: 15px 18px; }
    .visual-caption strong { font-size: 16px; }
    .visual-caption > span { font-size: 9px; }
    .visual-photo img { min-height: 280px; }
    .hero-tactical .hero-main, .obsidian-grid, .aurora-layout, .hero-crimson, .desert-body, .hero-nightfall, .terminal-body, .arena-grid, .blueprint-grid, .hero-dossier, .vanguard-grid, .vanguard-bottom, .airfield-intro, .metro-platform, .arsenal-grid, .horizon-content, .circuit-grid, .chronicle-grid, .hero-expedition { display: flex; flex-direction: column; gap: 30px !important; }
    .hero-tactical .game-visual, .hero-nightfall > .game-visual, .hero-crimson .crimson-art, .aurora-layout > .game-visual, .arena-card, .dossier-paper, .dossier-visual, .inventory, .horizon-picture, .circuit-art { width: 100%; }
    .hero-tactical .hero-bottom { flex-wrap: wrap; margin-top: 30px; gap: 15px; }
    .hero-tactical .hero-bottom b { display: none; }
    .hero-tactical .game-visual { transform: none; }
    .hero-obsidian .edition-label { font-size: 28px; margin-bottom: 24px; }
    .obsidian-grid { margin-top: 30px; }
    .obsidian-grid > .hero-index { width: 100%; }
    .obsidian-grid > .game-visual { display: none; }
    .giant-word { font-size: 90px; letter-spacing: -5px; }
    .aurora-layout { margin-top: 0; }
    .aurora-layout > .game-visual { order: 2; border-radius: 70px 70px 8px 8px; transform: none; }
    .aurora-strip { font-size: 10px; }
    .aurora-strip > span { font-size: 9px; }
    .hero-glacier { display: block; }
    .glacier-side { flex-direction: row; align-items: center; border: 0; gap: 20px; padding: 0 0 24px; }
    .glacier-side strong { font-size: 19px; line-height: 1.2; letter-spacing: 2px; }
    .glacier-side a { margin: 0 0 0 auto; }
    .hero-glacier .hero-index { margin-top: 24px; }
    .alert-strip .container { font-size: 8px; gap: 10px; }
    .alert-strip .container > span { display: none; }
    .desert-masthead { font-size: 9px; gap: 15px; }
    .desert-body { padding-block: 25px; }
    .hero-desert > .hero-index, .blueprint-index .hero-index, .hero-circuit > .hero-index, .hero-expedition > .hero-index { display: block; }
    .hero-nightfall > .game-visual { order: 2; min-height: 300px; border-radius: 90px 90px 8px 8px; }
    .hero-nightfall .visual-rings { width: 180px; height: 180px; margin-block: 15px; }
    .recon-label { margin-bottom: 25px; }
    .terminal-body { padding: 25px 20px; }
    .terminal-body > div { width: 100%; }
    .terminal-body .game-visual { display: none; }
    .terminal-status { font-size: 9px; flex-direction: column; gap: 8px; padding-inline: 20px; }
    .arena-word { font-size: 105px; letter-spacing: -5px; margin-bottom: 25px; }
    .arena-grid { margin-top: 0; }
    .arena-card { transform: none; }
    .arena-bottom { flex-wrap: wrap; gap: 15px; margin-top: 30px; }
    .arena-bottom > span { display: none; }
    .hero-blueprint { padding: 18px; }
    .blueprint-heading { font-size: 8px; gap: 12px; }
    .blueprint-grid { padding-block: 25px; }
    .blueprint-grid .hero-copy { padding: 12px; }
    .blueprint-grid .game-visual { display: none; }
    .blueprint-index { padding: 14px; }
    .signal-marker { font-size: 9px; gap: 10px; margin-bottom: 20px; }
    .signal-band { font-size: 9px; gap: 10px; margin-top: 28px; }
    .hero-signal > .game-visual { display: none; }
    .theme-signal .faq-section { display: block; }
    .dossier-spine { writing-mode: horizontal-tb; padding: 0 0 15px; border: 0; border-bottom: 1px solid var(--line); width: 100%; font-size: 10px; }
    .dossier-paper { padding: 28px 23px; }
    .dossier-stamp { font-size: 8px; padding: 5px 8px; }
    .dossier-visual { display: none; }
    .vanguard-heading { width: 100%; }
    .lead-word { font-size: 65px; padding-top: 18px; }
    .lead-word br { display: none; }
    .vanguard-bottom { padding: 22px; margin-top: 32px; }
    .vanguard-bottom .game-visual { display: none; }
    .vanguard-bottom .hero-index { width: 100%; }
    .airfield-cover .game-visual { height: 210px; min-height: 210px; }
    .airfield-cover .visual-rings { display: none; }
    .airfield-overlay { left: 25px; bottom: 30px; }
    .airfield-overlay > b { font-size: 34px; }
    .airfield-overlay > span { font-size: 9px; }
    .airfield-intro { margin-top: 28px; }
    .boarding-pass { width: 100%; padding: 22px; }
    .metro-rail { gap: 12px; font-size: 9px; }
    .metro-rail > b { font-size: 20px; }
    .metro-platform { padding-block: 25px; }
    .metro-platform .hero-index { width: 100%; }
    .metro-cover { display: none; }
    .arsenal-tag { font-size: 10px; gap: 15px; margin-bottom: 25px; }
    .inventory-slots span { padding-block: 10px; }
    .horizon-orbit { width: 300px; height: 300px; }
    .horizon-picture { transform: none; }
    .horizon-line { font-size: 10px; gap: 15px; margin-top: 30px; }
    .circuit-rail { margin-bottom: 25px; }
    .circuit-rail > b { font-size: 8px; }
    .circuit-copy { padding-left: 18px; }
    .circuit-art { display: none; }
    .hero-circuit > .hero-index { margin-top: 25px; }
    .chronicle-name { flex-wrap: wrap; padding-block: 16px; gap: 10px; }
    .chronicle-name > strong { width: 100%; order: -1; font-size: 45px; letter-spacing: 5px; }
    .chronicle-name > span { font-size: 8px; }
    .chronicle-grid { margin-top: 28px; }
    .chronicle-grid > div { width: 100%; }
    .chronicle-bottom { font-size: 10px; flex-wrap: wrap; }
    .chronicle-bottom > span { display: none; }
    .theme-chronicle .article-body { column-count: 1; }
    .expedition-title { flex-direction: row; align-items: center; gap: 20px; width: 100%; padding: 0 0 22px; border: 0; border-bottom: 1px solid var(--line); }
    .expedition-title > strong { font-size: 22px; }
    .expedition-title > span:first-child { font-size: 8px; max-width: 100px; }
    .journal-arrow { font-size: 50px; margin: 0 0 0 auto; }
    .hero-expedition > .hero-index { width: 100%; }
    .chapter-bar { gap: 18px; padding-block: 15px; flex-wrap: wrap; font-size: 11px; }
    .chapter-bar > span { width: 100%; }
    .section-block { padding-top: 48px; }
    .section-heading { margin-bottom: 24px; }
    .section-heading h2, .theme-arena .section-heading h2 { font-size: 25px; }
    .section-heading > p { font-size: 13px; }
    .feature-grid, .theme-aurora .feature-grid, .theme-nightfall .feature-grid, .theme-dossier .feature-grid, .theme-arsenal .feature-grid, .theme-circuit .feature-grid { grid-template-columns: 1fr; gap: 12px; }
    .feature-card { padding: 24px; }
    .card-index { margin-bottom: 22px; }
    .theme-aurora .feature-card { padding: 24px; }
    .theme-desert .feature-card { border-right: 0; border-bottom: 1px solid var(--line); }
    .theme-terminal .feature-card { border-right: 0; border-bottom: 1px solid var(--line); }
    .theme-circuit .feature-card:nth-child(even) { transform: none; }
    .guide-list, .theme-expedition .guide-list { grid-template-columns: 1fr; }
    .guide-list li { border-right: 0; padding: 24px; display: flex; gap: 24px; }
    .guide-number { font-size: 29px; margin: 0; }
    .gallery-grid { grid-template-columns: 1fr; gap: 18px; }
    .gallery-grid img { max-height: 360px; }
    .article-layout { display: block; }
    .article-nav { position: static; margin-bottom: 22px; padding-top: 16px; }
    .article-nav a { font-size: 12px; padding-block: 11px; }
    .article-body { padding: 0 23px; }
    .article-part { padding-block: 28px; }
    .article-part h3 { font-size: 21px; }
    .article-part p { font-size: 14px; }
    .faq-list summary h3 { font-size: 15px; }
    .download-panel { flex-direction: column; align-items: start; padding: 28px 25px; gap: 24px; margin-top: 48px; }
    .download-panel h2 { font-size: 22px; }
    .download-panel .download-button { width: 100%; }
    .related-grid { grid-template-columns: 1fr; gap: 0; }
    .related-card { padding-block: 17px; }
    .site-footer { margin-top: 45px; gap: 20px; font-size: 11px; }
    .site-footer strong, .site-footer span { display: block; margin: 0; }
    .site-footer span { margin-top: 8px; }
    .error-panel { margin-block: 40px; padding: 40px 24px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* One shared download bar for all twenty layouts, outside transformed hero panels. */
.game-page.has-floating-download .site-footer { padding-bottom: 180px; }
.floating-download { position: fixed; z-index: 1000; left: 50%; bottom: calc(96px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); width: calc(100% - 32px); max-width: 386px; }
.floating-download-link { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; min-height: 50px; padding: 12px 20px; border: 0; border-radius: 14px; background: linear-gradient(105deg, #ff2b2f, #ee002e); color: #fff; box-shadow: 0 8px 28px #ef002e30; font: 700 16px/1.5 system-ui, -apple-system, "Microsoft YaHei", sans-serif; text-align: center; text-decoration: none; overflow-wrap: anywhere; }
.floating-download-link::before { content: ""; position: absolute; z-index: 0; pointer-events: none; top: -40%; left: -32%; width: 24%; height: 180%; opacity: 0; background: linear-gradient(90deg, transparent, #ffffff18 20%, #ffffff80 50%, #ffffff18 80%, transparent); transform: translateX(0) skewX(-24deg); animation: floating-download-shine 3s ease-in-out infinite; }
.floating-download-link > svg, .floating-download-link > span { position: relative; z-index: 1; }
@keyframes floating-download-shine {
    0% { transform: translateX(0) skewX(-24deg); opacity: 0; }
    6% { opacity: 1; }
    60% { transform: translateX(650%) skewX(-24deg); opacity: 1; }
    66%, 100% { transform: translateX(650%) skewX(-24deg); opacity: 0; }
}
.floating-download-link svg { flex: 0 0 20px; }
.floating-download-link:hover { color: #fff; text-decoration: none; filter: brightness(1.06); }
.floating-download-link:focus-visible { outline: 3px solid #fff; outline-offset: 4px; box-shadow: 0 0 0 7px #b90025; }
@media (max-height: 500px) { .floating-download { bottom: calc(20px + env(safe-area-inset-bottom, 0px)); } }
@media print { .floating-download { display: none; } .game-page.has-floating-download .site-footer { padding-bottom: 24px; } }

/* Shared friend links: server rendered and responsive in every template. */
.friend-links{margin-top:42px;margin-bottom:20px;padding-top:22px;padding-bottom:22px;border-top:1px solid var(--line,#d9e2dc)}
.friend-links h2{font-size:15px;line-height:1.6;margin:0 0 16px;font-weight:600;color:var(--muted,#62796d)}
.friend-links ul{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0;margin:0}
.friend-links li{max-width:100%;margin:0;overflow-wrap:anywhere}
.friend-links a{display:inline-block;max-width:100%;font-size:13px;line-height:1.9;color:inherit;text-decoration:none;overflow-wrap:anywhere}
.friend-links a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--accent,#087f69)}
@media(max-width:700px){.friend-links{margin-top:28px;padding-top:18px}.friend-links ul{gap:10px 18px}.friend-links a{font-size:12px}}
