/* 首页：山水底、HUD、导航、水墨龙彩蛋 */
:root{
  --paper:#ffffff;--bg:#f9f9f9;--mist:#e0e0e0;--ink:#1a1a1a;--ink-70:rgba(26,26,26,.72);
  --cyan:#00e5ff;--cyan-deep:#006875;--gold:#d4af37;--gold-deep:#8a6d1a;--red:#d32f2f;
  --serif:"Playfair Display","Noto Serif SC",serif;
  --serif-sc:"Noto Serif SC","Playfair Display",serif;
  --mono:"JetBrains Mono",monospace;
  --sans:"Inter","Noto Sans SC",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  --pad:min(4vw,48px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.75;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:rgba(0,229,255,.35)}
img{display:block;max-width:100%}

.bg-shanshui{position:fixed;inset:0;z-index:-3;background:var(--paper) url('/shanshui-bg.jpg') center bottom / cover no-repeat}
.bg-veil{position:fixed;inset:0;z-index:-2}
.tech-grid{position:fixed;inset:0;z-index:-1;pointer-events:none;background-size:40px 40px;
  background-image:linear-gradient(to right,rgba(0,229,255,.05) 1px,transparent 1px),
                   linear-gradient(to bottom,rgba(0,229,255,.05) 1px,transparent 1px)}
#ink-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}

.hud{position:fixed;z-index:40;pointer-events:none;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:rgba(0,104,117,.75);display:flex;flex-direction:column;gap:4px}
.hud.tl{top:108px;left:32px}
.hud.br{bottom:88px;right:32px;text-align:right}
@media (max-width:760px){.hud{display:none}}
.pulse{animation:pulse 2s infinite cubic-bezier(.4,0,.6,1)}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.2)}}
.hud-line{position:relative;overflow:hidden}
.hud-line::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;
  background:linear-gradient(to right,transparent,rgba(0,229,255,.8),transparent);animation:scan 3s infinite linear}
@keyframes scan{0%{left:-100%}100%{left:200%}}
.node{display:inline-block;width:7px;height:7px;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}

/* 导航：语言切换按钮由 site-i18n.js 自动插到 .nav-cta 前面 */
nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:26px;padding:14px var(--pad)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;margin-right:auto}
.seal-chip{width:46px;height:46px;flex:none;background:var(--paper);display:flex;align-items:center;justify-content:center;border:1px solid rgba(212,175,55,.6)}
.seal-chip img{width:42px;height:42px;object-fit:contain}
.brand-name{font-family:var(--serif);font-weight:700;font-size:17px;letter-spacing:.04em;line-height:1.25}
.brand-name small{display:block;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.3em}
.nav-links{display:flex;gap:24px;align-items:center;font-family:var(--mono);font-size:12.5px;letter-spacing:.12em}
.nav-links a{text-decoration:none;transition:color .3s}
.nav-links a:hover{color:var(--cyan)}
.nav-cta{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--cyan);
  border:1px solid var(--cyan);padding:9px 18px;text-decoration:none;display:inline-flex;align-items:center;gap:9px;transition:all .3s}
.nav-cta:hover{box-shadow:0 0 15px rgba(0,229,255,.5);background:rgba(0,229,255,.08)}
.nav-cta .node{width:6px;height:6px}
@media (max-width:900px){.nav-links a:not(.keep){display:none}}
@media (max-width:600px){.brand-name small{display:none}.brand-name{font-size:15px}.seal-chip{width:40px;height:40px}.seal-chip img{width:36px;height:36px}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--mono);font-size:13px;letter-spacing:.16em;font-weight:600;
  padding:15px 28px;border:1px solid;text-decoration:none;cursor:pointer;background:transparent;transition:all .3s ease}
.btn.cyan{color:var(--cyan);border-color:var(--cyan)}
.btn.cyan:hover{box-shadow:0 0 16px rgba(0,229,255,.5);background:rgba(0,229,255,.08)}
.btn.deep{color:var(--cyan-deep);border-color:var(--cyan-deep)}
.btn.deep:hover{box-shadow:0 0 14px rgba(0,229,255,.35);background:rgba(0,229,255,.06)}

/* 彩蛋：山顶蓝线顶端热点 + 水墨龙视频（与线上一致） */
.deco-lines{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.deco-lines .v1{position:absolute;top:22%;right:9%;width:1px;height:52%;background:rgba(0,229,255,.5);box-shadow:0 0 5px var(--cyan)}
.deco-lines .h1{position:absolute;top:52%;left:0;width:30%;height:1px;background:rgba(0,229,255,.3);box-shadow:0 0 5px var(--cyan)}
.deco-lines .n1{position:absolute;top:22%;right:9%;width:8px;height:8px;background:var(--cyan);box-shadow:0 0 15px var(--cyan);transform:translate(50%,-50%)}
.dragon-hotspot{position:absolute;top:22%;right:9%;width:58px;height:58px;transform:translate(50%,-50%);
  border-radius:50%;pointer-events:auto;cursor:pointer;z-index:3}
.dragon-hotspot:hover ~ .n1,.dragon-hotspot.warm ~ .n1{box-shadow:0 0 26px var(--cyan),0 0 6px #fff}
/* 水墨龙：透明动图（dragon-ink.webp，本机 Wan 2.2 生成），龙在图里翻腾，龙层按原版的轨迹从右滑到左 */
/* 水墨龙彩蛋（与原版 index.html 逐字相同）：视频 contrast/brightness 把宣纸提到纯白 → url(#paperKey) 抠纸底；滤镜里绝不加 drop-shadow */
#dragonFly{position:fixed;top:8%;right:0;width:min(44vw,580px);pointer-events:none;z-index:45;overflow:hidden;
  display:none;opacity:0;will-change:transform,opacity}
#dragonFly.show{display:block;animation:dragonGlide 5.2s linear forwards}
#dragonFly video,#dragonFly img{display:block;width:100%;height:auto;transform:scale(1.04);
  filter:contrast(1.62) brightness(1.2) saturate(0) url(#paperKey)}
@keyframes dragonGlide{
  0%{transform:translate(2vw,7vh);opacity:0}
  10%{opacity:1}
  50%{transform:translate(-32vw,2.6vh)}
  86%{opacity:1}
  100%{transform:translate(-70vw,-1.6vh);opacity:0}
}
@media (prefers-reduced-motion:reduce){#dragonFly.show{animation-duration:.01ms}}
@media (max-width:760px){.dragon-hotspot{display:none}}

.ink-sun{position:fixed;top:15%;right:31%;width:clamp(46px,4.8vw,74px);aspect-ratio:1;border-radius:50%;
  z-index:1;pointer-events:none;mix-blend-mode:multiply;
  background:radial-gradient(circle at 50% 46%,rgba(178,32,26,.55) 0%,rgba(196,44,34,.42) 44%,rgba(198,54,44,.22) 66%,rgba(200,66,54,.08) 80%,rgba(200,70,60,0) 92%);
  filter:blur(.8px)}
@media (max-width:1000px){.ink-sun{top:10%;right:8%;width:82px}}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
