/* @font-face:begin */
@font-face{font-family:"WF Brush";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/wf-brush-400.woff2") format("woff2")}
@font-face{font-family:"WF Serif";font-style:normal;font-weight:600 700;font-display:swap;src:url("fonts/wf-serif.woff2") format("woff2")}
@font-face{font-family:"WF Latin";font-style:normal;font-weight:500 700;font-display:swap;src:url("fonts/wf-latin.woff2") format("woff2")}
/* @font-face:end */
/* 自托管字体：Google Fonts 按本页用字裁剪的 OFL 子集（见 fonts/LICENSE.txt） */
/* 火之意志 · 设计令牌与共享组件 */
:root{
  --ink-0:#0B0908; --ink-1:#120E0B; --ink-2:#1A1410; --ink-3:#251C15;
  --washi:#EFE5CF; --washi-2:#C2B49B; --washi-3:#8A7E6B;
  --gold:#D6AE66; --gold-hi:#F2DCA6; --gold-lo:#8C6A35;
  --shu:#C63A22; --shu-deep:#7A1C0F; --ember:#FF8B3D; --ember-hi:#FFC877;
  --moegi:#A3C46F;
  --line:rgba(214,174,102,.30); --line-soft:rgba(214,174,102,.14); --line-washi:rgba(239,229,207,.12);
  --f-brush:"WF Brush","STXingkai","华文行楷","KaiTi",serif;
  --f-serif:"WF Serif","Noto Serif SC","Source Han Serif SC","STSong","SimSun",serif;
  --f-latin:"WF Latin","Cinzel","WF Serif",serif;
  --f-sans:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans SC",system-ui,sans-serif;
  --f-mono:"JetBrains Mono","Cascadia Mono",Consolas,ui-monospace,monospace;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1); --ease-drawer:cubic-bezier(.32,.72,0,1);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .75 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0}
body{background:var(--ink-0);color:var(--washi);font-family:var(--f-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
button,input,select{font:inherit;color:inherit}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 木叶标记（静态 SVG 版，用于图标位） */
.mark{display:inline-block;width:1em;height:1em;color:var(--gold)}

/* —— 朱漆金线主按钮 —— */
.btn-shu{
  --h:56px;
  position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.75em;
  height:var(--h);padding:0 2.2em 0 calc(2.2em + .3em);border:0;cursor:pointer;text-decoration:none;
  font:600 17px/1 var(--f-serif);letter-spacing:.3em;color:#FFF2DC;
  background:
    radial-gradient(120% 160% at 50% 135%,rgba(255,150,70,.55),rgba(255,120,50,0) 58%),
    linear-gradient(180deg,#CF4429 0%,#A52D19 46%,#7C1D10 100%);
  box-shadow:inset 0 1px 0 rgba(255,214,170,.35),inset 0 -1px 0 rgba(40,6,2,.6),0 12px 32px -14px rgba(198,58,34,.75),0 0 0 1px rgba(242,220,166,.5);
  transition:box-shadow 260ms ease,transform 140ms var(--ease-out),filter 260ms ease;
  text-shadow:0 1px 0 rgba(60,10,4,.6);
  -webkit-tap-highlight-color:transparent;
}
.btn-shu::before{ /* 内金线 + 漆面颗粒 */
  content:"";position:absolute;inset:4px;z-index:-1;pointer-events:none;
  border:1px solid rgba(242,220,166,.42);
  background:var(--grain);background-size:160px;opacity:.9;mix-blend-mode:overlay;
}
.btn-shu::after{ /* 掠光：只在悬停时走一次 */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(255,236,204,.32) 48%,rgba(255,236,204,0) 64%);
  transform:translateX(-110%);opacity:0;
}
@media (hover:hover) and (pointer:fine){
  .btn-shu:hover{box-shadow:inset 0 1px 0 rgba(255,220,180,.45),inset 0 -1px 0 rgba(40,6,2,.6),0 16px 44px -10px rgba(255,120,50,.7),0 0 0 1px rgba(242,220,166,.75);filter:saturate(1.08) brightness(1.04)}
  .btn-shu:hover::after{transform:translateX(110%);opacity:1;transition:transform 900ms var(--ease-out),opacity 200ms ease}
}
.btn-shu:active{transform:scale(.98)}
.btn-shu[disabled]{cursor:default;filter:grayscale(.55) brightness(.62);box-shadow:0 0 0 1px rgba(242,220,166,.25)}
.btn-shu .ico{width:18px;height:18px;flex:none}

/* —— 金线次按钮 —— */
.btn-line{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;height:48px;padding:0 1.6em;
  border:1px solid var(--line);background:rgba(18,14,11,.45);color:var(--washi);cursor:pointer;text-decoration:none;
  font:500 15px/1 var(--f-sans);letter-spacing:.12em;transition:border-color 200ms ease,background-color 200ms ease,transform 140ms var(--ease-out)
}
@media (hover:hover) and (pointer:fine){.btn-line:hover{border-color:rgba(242,220,166,.7);background:rgba(214,174,102,.08)}}
.btn-line:active{transform:scale(.98)}

/* —— 金线四角（框体装饰，给卷轴类面板） —— */
.corners{position:relative}
.corners::before{
  content:"";position:absolute;inset:-1px;pointer-events:none;
  --c:var(--gold);--l:16px;
  background:
    linear-gradient(var(--c),var(--c)) top left/var(--l) 1px no-repeat,linear-gradient(var(--c),var(--c)) top left/1px var(--l) no-repeat,
    linear-gradient(var(--c),var(--c)) top right/var(--l) 1px no-repeat,linear-gradient(var(--c),var(--c)) top right/1px var(--l) no-repeat,
    linear-gradient(var(--c),var(--c)) bottom left/var(--l) 1px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/1px var(--l) no-repeat,
    linear-gradient(var(--c),var(--c)) bottom right/var(--l) 1px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/1px var(--l) no-repeat;
}

/* —— 印章 —— */
.seal{
  display:inline-grid;place-items:center;width:52px;height:52px;flex:none;
  background:var(--shu);color:#FBE9D2;
  font:700 19px/1.02 var(--f-serif);writing-mode:vertical-rl;letter-spacing:.02em;
  box-shadow:inset 0 0 0 2px rgba(251,233,210,.85),inset 0 0 0 4px var(--shu);
  filter:url(#seal-rough);
}

/* —— 金线分隔（菱形中点） —— */
.rule{display:flex;align-items:center;gap:10px;color:var(--gold)}
.rule::before,.rule::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line))}
.rule::after{background:linear-gradient(90deg,var(--line),transparent)}
.rule i{width:5px;height:5px;transform:rotate(45deg);background:currentColor;opacity:.8}

/* —— 小标签 —— */
.eyebrow{font:500 11px/1 var(--f-latin);letter-spacing:.38em;color:var(--gold);text-transform:uppercase}

/* —— 输入框：焦点只换颜色，底部燃线点亮，不改尺寸 —— */
.field{position:relative;display:block}
.field>span.lab{display:block;font:500 12px/1 var(--f-sans);letter-spacing:.14em;color:var(--washi-2);margin-bottom:9px}
.field .box{position:relative;display:flex;align-items:center;height:48px;background:rgba(9,7,6,.55);border:1px solid var(--line-washi);transition:border-color 200ms ease,background-color 200ms ease}
.field .box::after{content:"";position:absolute;left:-1px;right:-1px;bottom:-1px;height:1px;background:linear-gradient(90deg,var(--gold),var(--ember),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform 280ms var(--ease-out)}
.field .box:focus-within{border-color:rgba(214,174,102,.5);background:rgba(9,7,6,.7)}
.field .box:focus-within::after{transform:scaleX(1)}
.field input{flex:1;min-width:0;height:100%;border:0;background:transparent;padding:0 14px 0 0;font-size:15px;letter-spacing:.04em;outline:none}
.field input::placeholder{color:rgba(239,229,207,.34)}
.field .ic{width:44px;display:grid;place-items:center;color:var(--washi-3);flex:none}
.field .ic svg{width:17px;height:17px}
.field .trail{width:44px;height:100%;display:grid;place-items:center;border:0;background:none;color:var(--washi-3);cursor:pointer;flex:none}
.field .msg{display:block;min-height:18px;padding-top:5px;font-size:12px;color:#F0A07A}

/* 复选 */
.check{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13px;color:var(--washi-2);user-select:none}
.check input{position:absolute;opacity:0;width:1px;height:1px}
.check .bx{width:16px;height:16px;border:1px solid var(--line);display:grid;place-items:center;background:rgba(9,7,6,.5);transition:background-color 160ms ease,border-color 160ms ease}
.check .bx svg{width:11px;height:11px;opacity:0;transform:scale(.8);transition:opacity 160ms ease,transform 160ms var(--ease-out);color:var(--ink-0)}
.check input:checked+.bx{background:var(--gold);border-color:var(--gold)}
.check input:checked+.bx svg{opacity:1;transform:scale(1)}
.check input:focus-visible+.bx{outline:2px solid var(--gold-hi);outline-offset:2px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
}

/* ===== 下载页 ===== */
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{overflow-x:hidden}
.wrap{width:min(1200px,100% - 2*clamp(20px,4vw,56px));margin-inline:auto}

/* ===== 导航 ===== */
.nav{position:fixed;inset:0 0 auto;z-index:30;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,4vw,56px);transition:background-color 300ms ease,backdrop-filter 300ms ease,border-color 300ms ease;border-bottom:1px solid transparent}
.nav.solid{background:rgba(11,9,8,.74);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom-color:var(--line-soft)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;justify-self:start}
.brand .m{width:30px;height:30px;color:var(--gold)}
.brand b{font:600 17px/1 var(--f-latin);letter-spacing:.18em;color:var(--gold-hi)}
.brand span{font:600 17px/1 var(--f-serif);letter-spacing:.12em}
.nav-links{display:flex;gap:clamp(18px,3vw,44px)}
.nav-links a{position:relative;text-decoration:none;font-size:14px;letter-spacing:.16em;color:var(--washi-2);padding:8px 0;transition:color 200ms ease}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:linear-gradient(90deg,var(--gold),var(--ember));transform:scaleX(0);transition:transform 260ms var(--ease-out)}
@media (hover:hover){.nav-links a:hover{color:var(--washi)}.nav-links a:hover::after{transform:scaleX(1)}}
.nav .btn-line{justify-self:end;height:40px;font-size:13px;padding:0 1.3em}

/* ===== 首屏 ===== */
.hero{position:relative;height:100svh;min-height:660px;overflow:clip;isolation:isolate}
.hero-stage{position:absolute;inset:0;z-index:-1}
.hero-plate{position:absolute;inset:-2.5%;will-change:transform;transform:scale(1.035);background:#120e0b url(scene.webp) 62% 42%/cover no-repeat}
.hero-plate canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-grade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(11,9,8,.62) 0%,rgba(11,9,8,0) 16%),
  linear-gradient(0deg,var(--ink-0) 0%,rgba(11,9,8,.55) 12%,rgba(11,9,8,0) 34%),
  radial-gradient(56% 62% at 14% 96%,rgba(8,6,5,.94) 0%,rgba(8,6,5,.72) 42%,rgba(8,6,5,0) 80%),
  radial-gradient(40% 70% at 2% 30%,rgba(8,6,5,.5) 0%,rgba(8,6,5,0) 70%),
  radial-gradient(130% 110% at 55% 45%,rgba(0,0,0,0) 58%,rgba(0,0,0,.5) 100%)}
.hero-atmo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}

.slogan{--fs:clamp(40px,6.8vh,78px);position:absolute;left:clamp(20px,5.6vw,104px);top:calc(72px + 5vh);display:flex;flex-direction:row-reverse;gap:calc(var(--fs)*.2);font:400 var(--fs)/1 var(--f-brush);margin:0}
.slogan .col{writing-mode:vertical-rl;letter-spacing:.06em;margin:0;text-shadow:0 2px 22px rgba(0,0,0,.6),0 0 2px rgba(0,0,0,.5)}
.slogan .col span{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(-14px);transition:opacity 900ms var(--ease-out),filter 900ms var(--ease-out),transform 900ms var(--ease-out)}
.slogan .col.on span{opacity:1;filter:blur(0);transform:none}
.slogan .col-a{color:#F6EEDC}
.slogan .col-b{color:#FFE2B3;text-shadow:0 0 26px rgba(255,128,50,.5),0 2px 18px rgba(0,0,0,.55)}
.slogan .col-b{padding-top:calc(var(--fs)*1.1)}
.slogan .seal{position:absolute;left:calc(var(--fs)*-.05);bottom:calc(var(--fs)*-1.15);transition:opacity 240ms ease,transform 300ms var(--ease-out)}
.js .slogan .seal{opacity:0;transform:scale(1.25)}.js .slogan .seal.on{opacity:1;transform:scale(1)}

.hero-main{position:absolute;left:calc(clamp(20px,5.6vw,104px) + clamp(150px,19vh,230px));bottom:clamp(48px,9vh,110px);width:min(580px,calc(100% - 40px));text-shadow:0 1px 12px rgba(0,0,0,.65)}
.hero-main h1{margin:0 0 18px;width:clamp(260px,29vw,430px)}
.hero-main h1 img{width:100%;height:auto;aspect-ratio:1100/367;filter:drop-shadow(0 6px 24px rgba(0,0,0,.6))}
.hero-copy{margin:0 0 28px;font-size:15px;line-height:1.95;color:var(--washi-2);letter-spacing:.06em}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-actions .btn-shu{--h:58px}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.12em;color:var(--washi-2);text-decoration:none;padding:6px 0;border-bottom:1px solid var(--line);transition:color 200ms ease,border-color 200ms ease}
@media (hover:hover){.text-link:hover{color:var(--washi);border-color:var(--gold)}}
.hero-meta{margin:20px 0 0;font:500 12px/1.6 var(--f-sans);letter-spacing:.1em;color:var(--washi-3)}
.hero-meta b{font:600 12px/1 var(--f-mono);color:var(--gold);letter-spacing:.04em}
.js .hero-main>*{opacity:0;transform:translateY(12px);transition:opacity 700ms var(--ease-out),transform 700ms var(--ease-out)}
.hero.ui-on .hero-main>*{opacity:1;transform:none}
.hero.ui-on .hero-main>*:nth-child(2){transition-delay:70ms}.hero.ui-on .hero-main>*:nth-child(3){transition-delay:140ms}.hero.ui-on .hero-main>*:nth-child(4){transition-delay:210ms}

.hero-tools{position:absolute;right:clamp(20px,4vw,56px);bottom:clamp(22px,4vh,40px);display:flex;gap:6px}
.tool{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid transparent;background:rgba(11,9,8,.35);color:var(--washi-3);font-size:12px;letter-spacing:.14em;cursor:pointer;transition:color 200ms ease,border-color 200ms ease}
.tool:hover{color:var(--washi);border-color:var(--line-soft)}
.tool .dot{width:6px;height:6px;border-radius:50%;background:var(--ember);box-shadow:0 0 8px var(--ember)}
.tool[aria-pressed="false"] .dot{background:var(--washi-3);box-shadow:none}

/* 开场：火笔结印 */
.intro{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:var(--ink-0);transition:opacity 900ms ease}
.intro #introSeal{position:relative;width:min(340px,62vw);height:min(340px,62vw);transition:transform 1100ms var(--ease-out),filter 1100ms ease}
.intro.out{opacity:0;pointer-events:none}.intro.out #introSeal{transform:scale(1.18);filter:blur(6px)}
/* 墨纸：WebGL 就绪后接管底色；结印完成即从标记中心燃尽，露出下面真实的首屏 */
.intro #introPaper{position:absolute;inset:0;width:100%;height:100%;display:block}
.intro.paper{background:transparent}
.intro.burning{pointer-events:none}
.intro.burning #introSeal{opacity:0;transform:scale(1.12);transition:opacity 500ms cubic-bezier(.55,0,1,.45) 150ms,transform 500ms cubic-bezier(.55,0,1,.45) 150ms}
.intro.burning .skip-intro{opacity:0;transition:opacity 200ms ease}
.intro.burnt{visibility:hidden;pointer-events:none}
.intro .skip-intro{position:absolute;bottom:28px;right:32px;font-size:12px;letter-spacing:.2em;color:var(--washi-3);background:none;border:0;cursor:pointer}

/* ===== 版本条 ===== */
.strip{border-block:1px solid var(--line-soft);background:linear-gradient(90deg,rgba(214,174,102,.06),rgba(214,174,102,0) 60%)}
.strip .wrap{display:flex;align-items:center;gap:clamp(14px,3vw,40px);min-height:76px;flex-wrap:wrap;padding:14px 0}
.strip .k{font-size:12px;letter-spacing:.22em;color:var(--washi-3)}
.strip .v{font:600 22px/1 var(--f-latin);letter-spacing:.06em;color:var(--gold-hi)}
.strip .t{font:500 15px/1.4 var(--f-serif);color:var(--washi)}
.strip .t small{display:block;font:400 12px/1.6 var(--f-sans);color:var(--washi-3);letter-spacing:.08em}
.strip a{margin-left:auto}

/* ===== 通用段落 ===== */
section.sec{padding:clamp(80px,12vh,140px) 0}
.sec-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:clamp(36px,5vh,56px)}
.sec-head .eyebrow{display:block;margin-bottom:16px}
.sec-head h2{margin:0;font:700 clamp(30px,3.4vw,46px)/1.2 var(--f-serif);letter-spacing:.06em}
.sec-head p{margin:0;max-width:340px;font-size:14px;line-height:1.9;color:var(--washi-3);text-align:right}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity 800ms var(--ease-out),transform 800ms var(--ease-out)}
.reveal.in{opacity:1;transform:none}

/* ===== 下载 ===== */
.dl{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px}
.panel{position:relative;background:linear-gradient(180deg,rgba(37,28,21,.72),rgba(18,14,11,.82));border:1px solid var(--line-soft);overflow:hidden}
.panel::after{content:"";position:absolute;inset:0;background:var(--grain);background-size:160px;opacity:.06;pointer-events:none;mix-blend-mode:screen}
.dl-main{padding:0 clamp(22px,3vw,44px) 28px}
.tabs{position:relative;display:flex;gap:clamp(16px,3vw,40px);border-bottom:1px solid var(--line-soft);margin:0 calc(-1*clamp(22px,3vw,44px));padding:0 clamp(22px,3vw,44px);overflow-x:auto;scrollbar-width:none}
.tabs button{position:relative;height:60px;border:0;background:none;cursor:pointer;font-size:14px;letter-spacing:.14em;color:var(--washi-3);white-space:nowrap;transition:color 200ms ease}
.tabs button[aria-selected="true"]{color:var(--washi)}
.tabs .ink{position:absolute;bottom:-1px;left:0;height:2px;width:10px;background:linear-gradient(90deg,var(--gold),var(--ember));transition:transform 320ms var(--ease-out),width 320ms var(--ease-out);box-shadow:0 0 12px rgba(255,139,61,.6)}
.dl-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-top:36px;min-height:300px}
.dl-body .tag{display:inline-block;font-size:11px;letter-spacing:.24em;color:var(--gold);border:1px solid var(--line);padding:5px 10px}
.dl-body h3{margin:16px 0 12px;font:700 32px/1.2 var(--f-serif);letter-spacing:.06em}
.dl-body .desc{margin:0 0 28px;font-size:14px;line-height:1.9;color:var(--washi-2);min-height:54px}
.dl-body .tip{margin:14px 0 0;font-size:12px;line-height:1.8;color:var(--washi-3)}
.dl-body .btn-shu{width:100%;max-width:360px;letter-spacing:.14em;padding:0 1.2em 0 1.34em;white-space:nowrap;font-size:16px}
.facts{margin:0;display:grid;grid-template-columns:1fr 1fr;align-content:start;border-top:1px solid var(--line-soft)}
.facts div{padding:18px 0;border-bottom:1px solid var(--line-soft)}
.facts div:nth-child(odd){padding-right:16px;border-right:1px solid var(--line-soft)}
.facts div:nth-child(even){padding-left:20px}
.facts dt{font-size:12px;letter-spacing:.16em;color:var(--washi-3);margin-bottom:10px}
.facts dd{margin:0;font:600 17px/1.3 var(--f-serif);color:var(--washi)}
.facts dd.num{font:600 18px/1.3 var(--f-latin);color:var(--gold-hi);letter-spacing:.04em}
.feed{display:flex;align-items:center;gap:10px;margin-top:26px;font-size:12px;letter-spacing:.08em;color:var(--washi-3)}
.feed .ok{width:7px;height:7px;border-radius:50%;background:var(--moegi);box-shadow:0 0 8px rgba(163,196,111,.7)}
.feed button{margin-left:auto;border:0;background:none;color:var(--gold);cursor:pointer;font-size:12px;letter-spacing:.14em}
.ret{padding:clamp(24px,3vw,40px)}
.ret .eyebrow{display:flex;align-items:center;gap:10px}
.ret .eyebrow .m{width:22px;height:22px}
.ret h3{margin:18px 0 12px;font:700 24px/1.45 var(--f-serif);letter-spacing:.05em}
.ret>p{margin:0 0 26px;font-size:14px;line-height:1.9;color:var(--washi-2)}
.vc{border-top:1px solid var(--line-soft);padding-top:24px}
.vc label{display:block;font:600 15px/1.4 var(--f-serif);margin-bottom:6px}
.vc .hint{margin:0 0 14px;font-size:12px;color:var(--washi-3)}
.vc form{display:flex;gap:0}
.vc .box{flex:1}
.vc .go{height:48px;padding:0 18px;border:1px solid var(--line);border-left:0;background:rgba(214,174,102,.1);color:var(--gold-hi);cursor:pointer;letter-spacing:.14em;font-size:14px;transition:background-color 200ms ease}
.vc .go:hover{background:rgba(214,174,102,.2)}
.vc .res{min-height:44px;margin:12px 0 0;font-size:13px;line-height:1.7;color:var(--washi-3)}
.vc .res.good{color:var(--moegi)}.vc .res.old{color:var(--ember-hi)}
.browser{display:flex;align-items:center;gap:20px;margin-top:24px;padding:22px clamp(22px,3vw,44px);border:1px solid var(--line-soft);background:rgba(18,14,11,.5)}
.browser h3{margin:0 0 4px;font:600 16px/1.4 var(--f-serif)}
.browser p{margin:0;font-size:13px;color:var(--washi-3);line-height:1.7}
.browser a{margin-left:auto;white-space:nowrap}

/* ===== 更新情报：燃线时间轴 ===== */
.updates{background:linear-gradient(180deg,var(--ink-0),#0f0c0a 30%,var(--ink-0))}
.filters{display:flex;gap:8px;align-items:center;margin-bottom:40px;flex-wrap:wrap}
.filters button{height:36px;padding:0 16px;border:1px solid var(--line-soft);background:transparent;color:var(--washi-3);cursor:pointer;font-size:13px;letter-spacing:.12em;transition:color 200ms ease,border-color 200ms ease,background-color 200ms ease}
.filters button[aria-pressed="true"]{color:var(--ink-0);background:var(--gold);border-color:var(--gold)}
.filters .count{margin-left:auto;font-size:12px;color:var(--washi-3);letter-spacing:.1em}
.timeline{position:relative;display:grid;gap:0;--rail:132px}
.timeline .rail{position:absolute;left:var(--rail);top:8px;bottom:8px;width:1px;background:var(--line-soft)}
.timeline .rail i{position:absolute;left:0;top:0;width:1px;height:var(--lit,0px);background:linear-gradient(180deg,rgba(214,174,102,.2),var(--gold) 70%,var(--ember));}
.timeline .rail b{position:absolute;left:-5px;top:calc(var(--lit,0px) - 5px);width:11px;height:11px;border-radius:50%;background:radial-gradient(circle,#fff3d6 0 20%,var(--ember) 45%,rgba(255,139,61,0) 72%);filter:blur(.2px);box-shadow:0 0 18px 4px rgba(255,139,61,.45)}
.entry{display:grid;grid-template-columns:var(--rail) 1fr;gap:0;padding:0 0 44px}
.entry .when{padding-right:28px;text-align:right}
.entry .when b{display:block;font:600 26px/1 var(--f-latin);letter-spacing:.04em;color:var(--washi)}
.entry .when small{display:block;margin-top:8px;font:500 11px/1 var(--f-latin);letter-spacing:.3em;color:var(--washi-3)}
.entry .card{position:relative;margin-left:36px;padding:2px 0 0}
.entry .card::before{content:"";position:absolute;left:-41px;top:9px;width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--gold);background:var(--ink-0)}
.entry .meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.entry .type{font-size:11px;letter-spacing:.2em;padding:4px 9px;border:1px solid var(--line);color:var(--gold)}
.entry .type.game{color:var(--moegi);border-color:rgba(163,196,111,.35)}
.entry .ver{font:500 12px/1 var(--f-mono);color:var(--washi-3)}
.entry h3{margin:0 0 12px;font:700 21px/1.45 var(--f-serif);letter-spacing:.04em}
.entry ul{margin:0;padding:0;list-style:none;display:grid;gap:7px;max-width:760px}
.entry li{position:relative;padding-left:18px;font-size:14px;line-height:1.85;color:var(--washi-2)}
.entry li::before{content:"";position:absolute;left:2px;top:.85em;width:6px;height:1px;background:var(--gold)}
.entry.latest .card::before{background:var(--ember);border-color:var(--ember-hi);box-shadow:0 0 12px var(--ember)}
.entry .new{font-size:11px;letter-spacing:.2em;color:var(--ink-0);background:var(--ember-hi);padding:4px 8px}
.more{margin:8px 0 0 calc(var(--rail) + 36px)}

/* ===== 入村指南 ===== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin-bottom:56px}
.step{position:relative;padding:34px clamp(18px,2.4vw,36px) 36px 0}
.step+.step{padding-left:clamp(18px,2.4vw,36px);border-left:1px solid var(--line-soft)}
.step .n{font:400 46px/1 var(--f-brush);color:var(--gold);display:block;margin-bottom:18px}
.step h3{margin:0 0 10px;font:700 19px/1.4 var(--f-serif)}
.step p{margin:0;font-size:14px;line-height:1.9;color:var(--washi-2)}
.faqgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(24px,4vw,64px)}
.qq{padding:32px;align-self:start}
.qq .eyebrow{display:block;margin-bottom:16px}
.qq h3{margin:0 0 12px;font:700 22px/1.4 var(--f-serif)}
.qq .num{font:700 34px/1 var(--f-latin);letter-spacing:.06em;color:var(--gold-hi);margin:18px 0 10px}
.qq p{margin:0;font-size:13px;line-height:1.8;color:var(--washi-3)}
details{border-bottom:1px solid var(--line-soft)}
details:first-child{border-top:1px solid var(--line-soft)}
summary{list-style:none;display:flex;align-items:center;gap:16px;padding:22px 0;cursor:pointer;font:600 16px/1.5 var(--f-serif);letter-spacing:.03em}
summary::-webkit-details-marker{display:none}
summary .pm{margin-left:auto;width:14px;height:14px;position:relative;flex:none}
summary .pm::before,summary .pm::after{content:"";position:absolute;left:0;top:6.5px;width:14px;height:1px;background:var(--gold);transition:transform 240ms var(--ease-out)}
summary .pm::after{transform:rotate(90deg)}
details[open] summary .pm::after{transform:rotate(0)}
details p{margin:0 0 22px;padding-right:40px;font-size:14px;line-height:1.95;color:var(--washi-2)}
details a{color:var(--gold-hi)}

/* ===== 页脚 ===== */
footer{position:relative;padding:72px 0 48px;border-top:1px solid var(--line-soft);overflow:hidden}
footer .wrap{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end}
footer .sig{font:400 clamp(40px,5vw,64px)/1.1 var(--f-brush);color:rgba(239,229,207,.9);margin:0 0 18px}
footer .sig em{font-style:normal;color:#FFD9A6;text-shadow:0 0 22px rgba(255,128,50,.4)}
footer p{margin:0;font-size:12px;letter-spacing:.12em;color:var(--washi-3)}
footer .right{display:flex;flex-direction:column;align-items:flex-end;gap:16px}

/* ===== 响应式 ===== */
@media (max-width:980px){
  .dl,.faqgrid{grid-template-columns:1fr}
  .dl-body{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .step+.step{padding-left:0;border-left:0;border-top:1px solid var(--line-soft)}
  .sec-head{grid-template-columns:1fr}.sec-head p{text-align:left}
}
@media (max-width:760px){
  .nav{grid-template-columns:1fr auto}.nav-links{display:none}
  .slogan{--fs:clamp(26px,3.9vh,34px);top:86px;left:22px}
  .slogan .seal{display:none}
  .hero-main{left:20px;right:20px;width:auto;bottom:84px}
  .hero-main h1{width:min(300px,78vw)}
  .hero-copy{font-size:14px}
  .hero-actions .btn-shu{width:100%}
  .hero-grade{background:linear-gradient(180deg,rgba(11,9,8,.6) 0%,rgba(11,9,8,0) 22%),linear-gradient(0deg,var(--ink-0) 0%,rgba(11,9,8,.85) 30%,rgba(11,9,8,0) 62%)}
  .hero-tools{left:20px;right:auto}
  .timeline{--rail:0px}.timeline .rail{left:4px}
  .entry{grid-template-columns:1fr}.entry .when{text-align:left;padding:0 0 12px 30px;display:flex;gap:12px;align-items:baseline}
  .entry .card{margin-left:30px}.entry .card::before{left:-30px}
  .more{margin-left:30px}
  .browser{flex-wrap:wrap}.browser a{margin-left:0}
  footer .wrap{grid-template-columns:1fr}footer .right{align-items:flex-start}
  .strip a{margin-left:0}
}

/* ===== 生产版补充 ===== */
.skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 16px;background:var(--gold);color:var(--ink-0);text-decoration:none;font-weight:700}
.skip:focus{top:12px}
.entry h3,.strip .t{font-family:var(--f-sans);font-weight:700}
.strip .t{font-size:15px}
.caveat{margin:16px 0 0;padding:12px 14px;border-left:2px solid var(--gold);background:rgba(214,174,102,.06);font-size:13px;line-height:1.85;color:var(--washi-2)}
.feed button[disabled]{opacity:.5;cursor:default}
.history-note{margin:8px 0 0;font-size:12px;color:var(--washi-3);letter-spacing:.06em}
.history-fail button{margin-left:6px;border:0;background:none;color:var(--gold-hi);cursor:pointer;text-decoration:underline}
noscript p{margin:16px 0 0;padding:12px 14px;border:1px solid var(--line);font-size:13px;line-height:1.8;color:var(--washi-2)}
.dl-body{min-height:384px}

.intro[hidden]{display:none}
@media (max-width:980px){.dl-body{min-height:0}.dl-body>div:first-child{min-height:392px}}
