:root {
  --nsj-mo: #14201e;
  --nsj-lan: #1d3934;
  --nsj-tai: #32665b;
  --nsj-lu: #b9c882;
  --nsj-yun: #e6ebd7;
  --nsj-zhi: #f7f5ee;
  --nsj-hui: #65716d;
  --nsj-xi: clamp(1rem, 2vw, 2rem);
  --nsj-wan: 1.35rem;
  --nsj-ying: 0 1.6rem 4rem rgba(11, 27, 24, .14);
  --nsj-serif: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
  --nsj-sans: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
body { margin: 0; background: var(--nsj-zhi); color: var(--nsj-mo); font-family: var(--nsj-sans); font-size: 16px; line-height: 1.82; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .22em; }
a:focus-visible, button:focus-visible { outline: 3px solid #d89c44; outline-offset: 4px; }

.nsj-yueguo { position: fixed; z-index: 30; left: 1rem; top: -4rem; padding: .5rem .9rem; background: var(--nsj-mo); color: white; transition: top .2s; }
.nsj-yueguo:focus { top: 1rem; }
.nsj-yanmu { overflow: clip; }
.nsj-yanmu-ding { position: relative; z-index: 10; background: rgba(247,245,238,.92); border-bottom: 1px solid rgba(20,32,30,.09); backdrop-filter: blur(12px); }
.nsj-jingdao { width: min(1180px, calc(100% - 2.5rem)); min-height: 5rem; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.nsj-paihao { display: inline-flex; align-items: center; gap: .65rem; color: var(--nsj-mo); text-decoration: none; }
.nsj-paihao img { width: 2.75rem; height: 2.75rem; transition: transform .45s cubic-bezier(.16,1,.3,1); }
.nsj-paihao:hover img { transform: rotate(-10deg) scale(1.08); }
.nsj-paihao span { display: grid; line-height: 1; gap: .2rem; }
.nsj-paihao b { font-family: var(--nsj-serif); font-size: 1.12rem; letter-spacing: .12em; }
.nsj-paihao i { color: var(--nsj-hui); font-size: .54rem; font-style: normal; letter-spacing: .18em; }
.nsj-jingdao-lie { display: flex; align-items: center; gap: .15rem; }
.nsj-jingdao-lie a { position: relative; padding: .65rem .85rem; color: var(--nsj-hui); font-size: .89rem; text-decoration: none; transition: color .25s; }
.nsj-jingdao-lie a::after { content: ""; position: absolute; left: .85rem; right: .85rem; bottom: .38rem; height: 1px; background: var(--nsj-tai); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.nsj-jingdao-lie a:hover, .nsj-jingdao-lie a.nsj-liang { color: var(--nsj-mo); }
.nsj-jingdao-lie a:hover::after, .nsj-jingdao-lie a.nsj-liang::after { transform: scaleX(1); }
.nsj-jingdao-kai { display: none; border: 0; padding: .5rem; background: transparent; }

.nsj-wujing-e { position: relative; padding: clamp(3rem,8vw,7.75rem) max(1.25rem, calc((100% - 1180px)/2)) clamp(3rem,7vw,6rem); background: var(--nsj-lan); color: #f9f8f0; isolation: isolate; }
.nsj-wujing-e::before, .nsj-wujing-e::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; z-index: -1; }
.nsj-wujing-e::before { width: min(54vw, 45rem); aspect-ratio: 1; right: -13rem; top: -20rem; border: 1px solid rgba(221,231,186,.27); box-shadow: 0 0 0 6rem rgba(221,231,186,.035), 0 0 0 12rem rgba(221,231,186,.025); animation: nsj-dang 14s ease-in-out infinite alternate; }
.nsj-wujing-e::after { width: 14rem; height: 14rem; left: 7%; bottom: -10rem; background: #d1b06d; filter: blur(36px); opacity: .18; }
.nsj-wujing-hao { display: inline-flex; align-items: center; gap: .6rem; color: var(--nsj-lu); font-size: .69rem; font-weight: 700; letter-spacing: .2em; }
.nsj-wujing-hao::before { content: ""; width: 1.8rem; height: 1px; background: currentColor; }
.nsj-wujing-pai { display: grid; grid-template-columns: 1.03fr .88fr; gap: clamp(2rem, 6vw, 7rem); align-items: end; margin-top: clamp(1.6rem, 4vw, 3.5rem); }
.nsj-wujing-zi { max-width: 39rem; }
.nsj-wujing-yin, .nsj-wenda-e p, .nsj-huace-ti p { margin: 0 0 .75rem; color: var(--nsj-lu); font-size: .72rem; font-weight: 700; letter-spacing: .18em; }
.nsj-wujing h1 { max-width: 13em; margin: 0; font-family: var(--nsj-serif); font-size: clamp(2.35rem, 5vw, 5rem); font-weight: 600; letter-spacing: .035em; line-height: 1.2; }
.nsj-wujing-yiju { max-width: 34rem; margin: 1.5rem 0 0; color: rgba(249,248,240,.75); font-size: clamp(1rem,1.5vw,1.13rem); line-height: 1.85; }
.nsj-wujing-an { display: flex; flex-wrap: wrap; gap: .85rem; align-items: center; margin-top: 2.15rem; }
.nsj-luoyin { display: inline-flex; align-items: center; gap: 1.7rem; padding: .84rem 1rem  .84rem 1.25rem; background: var(--nsj-lu); color: var(--nsj-mo); font-size: .88rem; font-weight: 700; text-decoration: none; transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s; }
.nsj-luoyin b { display: grid; place-items: center; width: 1.7rem; aspect-ratio: 1; border-radius: 50%; background: var(--nsj-mo); color: var(--nsj-lu); line-height: 1; transition: transform .3s; }
.nsj-luoyin:hover { box-shadow: 0 .8rem 1.4rem rgba(0,0,0,.2); transform: translateY(-3px); }
.nsj-luoyin:hover b { transform: rotate(45deg); }
.nsj-miaozhen { color: rgba(249,248,240,.77); font-size: .85rem; text-decoration: none; }
.nsj-miaozhen span { display: inline-block; margin-left: .35rem; transition: transform .2s; }
.nsj-miaozhen:hover span { transform: translateY(3px); }
.nsj-wujing-tu { position: relative; margin: 0; transform: rotate(2.4deg); box-shadow: 1rem 1.25rem 0 rgba(185,200,130,.22); }
.nsj-wujing-tu::before { content: ""; position: absolute; inset: .65rem; z-index: 1; border: 1px solid rgba(255,255,255,.5); pointer-events: none; }
.nsj-wujing-tu img { width: 100%; min-height: 18rem; object-fit: cover; aspect-ratio: 3 / 2; filter: saturate(.7) contrast(1.05); transition: filter .8s, transform .8s; }
.nsj-wujing-tu:hover img { filter: saturate(1) contrast(1); transform: scale(.98); }
.nsj-wujing-tu figcaption { position: absolute; z-index: 2; right: .8rem; bottom: .5rem; max-width: 80%; color: rgba(255,255,255,.9); font-size: .64rem; letter-spacing: .06em; text-align: right; text-shadow: 0 1px 5px rgba(0,0,0,.8); }
.nsj-wujing-ke { display: flex; align-items: center; gap: .7rem; margin-top: clamp(2rem,5vw,4.5rem); color: rgba(249,248,240,.57); font-size: .67rem; letter-spacing: .16em; }
.nsj-wujing-ke i { width: min(28vw, 18rem); height: 1px; background: rgba(249,248,240,.35); }

.nsj-wujing-bu { display: grid; grid-template-columns: 12.5rem minmax(0, 43rem); justify-content: center; gap: clamp(2rem,6vw,6rem); padding: clamp(3.5rem,7vw,7rem) 1.25rem; }
.nsj-ceyan { align-self: start; position: sticky; top: 1.5rem; padding-left: 1.1rem; border-left: 1px solid #d5dbcc; }
.nsj-ceyan p { margin: 0 0 .8rem; color: var(--nsj-tai); font-size: .7rem; font-weight: 700; letter-spacing: .13em; }
.nsj-ceyan ol { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; counter-reset: links; }
.nsj-ceyan li { counter-increment: links; }
.nsj-ceyan a { color: var(--nsj-hui); font-size: .8rem; text-decoration: none; transition: color .2s, padding-left .2s; }
.nsj-ceyan a::before { content: "0" counter(links) " "; color: #9aa79b; font-size: .62rem; }
.nsj-ceyan a:hover { padding-left: .3rem; color: var(--nsj-mo); }
.nsj-wujing-wen > :first-child { margin-top: 0; }
.nsj-wujing-wen h2 { margin: 3.8rem 0 1.25rem; padding-top: .25rem; font-family: var(--nsj-serif); font-size: clamp(1.65rem,3vw,2.3rem); font-weight: 600; line-height: 1.35; scroll-margin-top: 6rem; }
.nsj-wujing-wen h2::before { content: ""; display: block; width: 2.4rem; height: 3px; margin-bottom: .9rem; background: var(--nsj-tai); }
.nsj-wujing-wen h3 { margin: 2rem 0 .65rem; color: var(--nsj-lan); font-family: var(--nsj-serif); font-size: 1.26rem; }
.nsj-wujing-wen p { margin: 0 0 1.3rem; }
.nsj-wujing-wen a { color: var(--nsj-tai); font-weight: 700; }
.nsj-wujing-wen ol, .nsj-wujing-wen ul { display: grid; gap: .65rem; margin: 1.5rem 0 1.75rem; padding: 1.4rem 1.7rem 1.4rem 3rem; background: #eef0e6; border-left: 3px solid var(--nsj-lu); }
.nsj-wujing-wen li::marker { color: var(--nsj-tai); font-weight: 700; }
.nsj-wujing-wen strong { color: var(--nsj-lan); }

.nsj-huace { padding: clamp(3.5rem,7vw,6.6rem) max(1.25rem, calc((100% - 1180px)/2)); background: #e5e9d9; }
.nsj-huace-ti { max-width: 37rem; margin-bottom: 2rem; }
.nsj-huace-ti h2, .nsj-wenda h2, .nsj-wujing-jiao h2 { margin: 0; font-family: var(--nsj-serif); font-size: clamp(1.8rem,3.5vw,3rem); font-weight: 600; line-height: 1.3; }
.nsj-huace-dao { display: grid; grid-template-columns: 1.2fr .8fr .8fr; grid-template-rows: 12rem 12rem; gap: .8rem; }
.nsj-huace-ge { position: relative; min-height: 0; margin: 0; overflow: hidden; background: var(--nsj-lan); }
.nsj-huace-ge:first-child { grid-row: span 2; }
.nsj-huace-ge img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) brightness(.98); transition: transform .7s cubic-bezier(.16,1,.3,1), filter .5s; }
.nsj-huace-ge:hover img { filter: saturate(1.05) brightness(1.08); transform: scale(1.08); }
.nsj-huace-ge::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 55%,rgba(9,26,23,.72)); pointer-events: none; }
.nsj-huace-ge figcaption { position: absolute; z-index: 1; left: 1rem; bottom: .75rem; color: white; font-family: var(--nsj-serif); font-size: .9rem; }

.nsj-wenda { max-width: 57rem; margin: 0 auto; padding: clamp(4rem,8vw,7rem) 1.25rem; }
.nsj-wenda-e { display: flex; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 2.25rem; }
.nsj-wenda-e p { color: var(--nsj-tai); }
.nsj-sanwen-lu { display: grid; gap: .7rem; margin: 0; }
.nsj-yanpian { overflow: hidden; border: 1px solid #d5dbcc; border-radius: .4rem; background: #fbfaf6; transition: border-color .3s, box-shadow .3s, transform .3s; }
.nsj-yanpian:hover { border-color: #a9b78a; box-shadow: 0 .8rem 2rem rgba(20,32,30,.08); transform: translateY(-3px); }
.nsj-yanpian-shou { display: flex; gap: .85rem; align-items: baseline; padding: 1.1rem 1.3rem; color: var(--nsj-lan); font-family: var(--nsj-serif); font-size: 1.08rem; font-weight: 600; cursor: default; }
.nsj-yanpian-shou span { color: var(--nsj-tai); font-family: var(--nsj-sans); font-size: .64rem; font-weight: 700; letter-spacing: .08em; }
.nsj-yanpian-rang { display: grid; grid-template-rows: 1fr; margin: 0; transition: grid-template-rows .6s cubic-bezier(.16,1,.3,1); }
.nsj-yanpian-rang p { min-height: 0; margin: 0; padding: 0 1.3rem 1.3rem; color: var(--nsj-hui); transition: opacity .45s, transform .45s, padding .45s; }
.nsj-js .nsj-yanpian:not(.nsj-xian) .nsj-yanpian-rang { grid-template-rows: 0fr; }
.nsj-js .nsj-yanpian:not(.nsj-xian) .nsj-yanpian-rang p { padding-top: 0; padding-bottom: 0; opacity: 0; transform: translateY(-.4rem); }

.nsj-wujing-jiao { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(3.5rem,8vw,7rem) max(1.25rem, calc((100% - 920px)/2)); background: var(--nsj-mo); color: var(--nsj-zhi); }
.nsj-wujing-jiao p { margin: 0 0 .6rem; color: var(--nsj-lu); font-size: .76rem; letter-spacing: .12em; }
.nsj-dengyin { display: inline-flex; align-items: center; gap: 1rem; min-width: max-content; padding: .5rem 0; border-bottom: 1px solid var(--nsj-lu); color: var(--nsj-lu); text-decoration: none; }
.nsj-dengyin-mang { font-style: normal; font-weight: 700; letter-spacing: .06em; transition: letter-spacing .3s, text-shadow .3s; }
.nsj-dengyin:hover .nsj-dengyin-mang { letter-spacing: .16em; text-shadow: 0 0 12px rgba(185,200,130,.65); }
.nsj-dengyin span { transition: transform .3s; }
.nsj-dengyin:hover span { transform: translateX(.4rem); }
.nsj-yanmu-jiao { padding: 2.5rem 1.25rem; background: #0c1413; color: #aab4ac; }
.nsj-yanmu-jiaonei { display: grid; grid-template-columns: .8fr 1.5fr 1fr; align-items: center; gap: 2rem; width: min(1180px,100%); margin: auto; }
.nsj-yanmu-jiao .nsj-paihao { color: #eef0e6; }
.nsj-yanmu-jiao p { margin: 0; font-size: .75rem; line-height: 1.7; }
.nsj-yanmu-jiao p:last-child { text-align: right; }
.nsj-yanmu-jiao a:not(.nsj-paihao) { color: #d7ddba; }

@keyframes nsj-dang { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-3rem, 2rem, 0) scale(1.1); } }
.nsj-luoyin, .nsj-wujing-tu, .nsj-wujing-ke, .nsj-wujing-wen, .nsj-ceyan, .nsj-huace, .nsj-wenda { animation: nsj-xian .7s both; }
.nsj-wujing-tu { animation-delay: .12s; }.nsj-wujing-ke { animation-delay: .18s; }.nsj-wujing-wen, .nsj-ceyan { animation-delay: .08s; }
@keyframes nsj-xian { from { opacity: 0; transform: translateY(1.2rem); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 760px) {
  .nsj-jingdao { min-height: 4.5rem; width: min(100% - 2rem, 1180px); }
  .nsj-jingdao-kai { display: grid; gap: .35rem; }
  .nsj-jingdao-kai span { width: 1.4rem; height: 1px; background: var(--nsj-mo); transition: transform .25s; }
  .nsj-jingdao-lie { position: absolute; top: 100%; left: 0; right: 0; display: grid; padding: .65rem 1rem 1rem; background: var(--nsj-zhi); border-bottom: 1px solid #d9ded2; opacity: 0; visibility: hidden; transform: translateY(-.6rem); transition: opacity .25s, transform .25s, visibility .25s; }
  .nsj-jingdao.nsj-da-kai .nsj-jingdao-lie { opacity: 1; visibility: visible; transform: translateY(0); }
  .nsj-jingdao.nsj-da-kai .nsj-jingdao-kai span:first-child { transform: translateY(3px) rotate(45deg); }.nsj-jingdao.nsj-da-kai .nsj-jingdao-kai span:last-child { transform: translateY(-3px) rotate(-45deg); }
  .nsj-wujing-pai { grid-template-columns: 1fr; }.nsj-wujing-tu { width: min(100% - 1rem, 31rem); margin: 1rem 0 0 auto; }
  .nsj-wujing-bu { grid-template-columns: 1fr; padding-top: 3rem; }.nsj-ceyan { position: static; display: none; }
  .nsj-huace-dao { grid-template-columns: 1fr 1fr; grid-template-rows: 11rem 11rem 11rem; }.nsj-huace-ge:first-child { grid-column: span 2; grid-row: auto; }
  .nsj-wenda-e, .nsj-wujing-jiao { align-items: flex-start; flex-direction: column; }.nsj-yanmu-jiaonei { grid-template-columns: 1fr; gap: 1.25rem; }.nsj-yanmu-jiao p:last-child { text-align: left; }
}
@media (max-width: 420px) { .nsj-wujing-e { padding-inline: 1rem; }.nsj-wujing h1 { font-size: 2.25rem; }.nsj-huace { padding-inline: 1rem; }.nsj-huace-dao { gap: .45rem; }.nsj-huace-ge figcaption { left: .6rem; bottom: .5rem; font-size: .75rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }