/* 966SEO 单页 / 404：正文页（依赖 site.css token） */
.mid{max-width:1080px;margin:0 auto}
.pg-hero{margin-top:16px;padding:34px 34px 30px;border-radius:24px;position:relative;overflow:hidden}
.pg-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(78deg,color-mix(in srgb,var(--fg) 6%,transparent) 0 1px,transparent 1px 28px);
  -webkit-mask-image:linear-gradient(100deg,transparent 50%,#000 100%);
  mask-image:linear-gradient(100deg,transparent 50%,#000 100%)}
.pg-k{position:relative;font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:750}
.pg-hero h1{position:relative;font-size:clamp(27px,3.4vw,40px);font-weight:900;letter-spacing:-.015em;line-height:1.24;margin-top:11px}
.pg-hero .dek{position:relative;font-size:13.6px;color:var(--fg2);line-height:1.75;margin-top:12px;max-width:64ch}
.pg-m{position:relative;display:flex;gap:30px;margin-top:22px;flex-wrap:wrap}
.pg-m div{display:flex;flex-direction:column;gap:2px}
.pg-m b{font-family:var(--mono);font-size:19px;font-weight:800;letter-spacing:-.04em}
.pg-m span{font-family:var(--mono);font-size:8.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--fg3)}

.pg-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:44px;margin-top:32px;align-items:start}
@media(max-width:900px){.pg-wrap{grid-template-columns:1fr}.pg-wrap .pg-side{display:none}}
.pg-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px}
.ps{padding:18px 20px;border-radius:16px}
.ps h4{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg3);font-weight:700;
  margin-bottom:12px;display:flex;align-items:center;gap:7px}
.ps h4::before{content:"";width:3px;height:11px;border-radius:2px;background:var(--accent)}
.ps a{display:block;font-size:12.2px;color:var(--fg2);padding:5px 0;transition:.16s}
.ps a:hover{color:var(--accent);transform:translateX(2px)}
.ps .kv{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--fg2);padding:5px 0}
.ps .kv em{font-style:normal;font-family:var(--mono);font-size:10px;color:var(--fg3)}
.prose h2{margin-top:36px}
.prose h2:first-of-type{margin-top:0}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
@media(max-width:620px){.contact{grid-template-columns:1fr}}
.contact a{display:flex;align-items:center;gap:11px;padding:14px 16px;border-radius:13px;border:1px solid var(--line2);transition:.2s}
.contact a:hover{border-color:color-mix(in srgb,var(--accent) 42%,transparent);background:color-mix(in srgb,var(--accent) 4%,transparent);transform:translateY(-1px)}
.contact .ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;flex:none;
  background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}
.contact .ic svg{width:15px;height:15px}
.contact b{display:block;font-size:12.4px;font-weight:750}
.contact span{font-family:var(--mono);font-size:9.5px;color:var(--fg3)}

/* ——— 404 ——— */
.mid{max-width:1000px;margin:0 auto}

.nf{position:relative;overflow:hidden;border-radius:26px;margin-top:20px;padding:56px 32px 44px;text-align:center}
.nf::before{content:"";position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:66%;height:78%;
  background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--a1) 54%,transparent),transparent 62%);
  filter:blur(58px);pointer-events:none}
.nf::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(78deg,color-mix(in srgb,var(--fg) 5.5%,transparent) 0 1px,transparent 1px 30px);
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 40%,#000,transparent 72%);
  mask-image:radial-gradient(ellipse 70% 80% at 50% 40%,#000,transparent 72%)}
.nf-num{position:relative;font-family:var(--mono);font-size:clamp(104px,17vw,184px);font-weight:800;line-height:.86;
  letter-spacing:-.015em;color:transparent;-webkit-text-stroke:2.5px color-mix(in srgb,var(--accent) 44%,transparent)}
.nf h1{position:relative;font-size:clamp(22px,2.6vw,30px);font-weight:900;letter-spacing:-.015em;margin-top:22px}
.nf p{position:relative;font-size:13px;color:var(--fg2);line-height:1.75;margin-top:10px;max-width:48ch;margin-left:auto;margin-right:auto}

.nf-sr{position:relative;display:flex;align-items:center;gap:9px;max-width:480px;margin:24px auto 0;padding:6px 7px 6px 15px;
  border-radius:14px;background:var(--panel);border:1px solid var(--line2);box-shadow:var(--sh)}
[data-theme=dark] .nf-sr{background:rgba(255,255,255,.05)}
.nf-sr:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent)}
.nf-sr svg{width:16px;height:16px;color:var(--fg3);flex:none}
.nf-sr input{flex:1;border:none;background:none;outline:none;font-size:13.5px;height:36px}
.nf-sr input::placeholder{color:var(--fg3)}

.nf-links{position:relative;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:22px}
.nf-k{position:relative;font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fg3);margin-top:30px}

.nf-recent{margin-top:16px}
.nf-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
@media(max-width:820px){.nf-list{grid-template-columns:1fr}}
.nf-list a{padding:18px;border-radius:16px;border:1px solid color-mix(in srgb,var(--fg) 8%,transparent);
  background:var(--glass);transition:.22s}
[data-theme=dark] .nf-list a{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12)}
.nf-list a:hover{transform:translateY(-2px);box-shadow:var(--sh);border-color:color-mix(in srgb,var(--accent) 38%,transparent)}
.nf-list .c{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.nf-list h4{font-size:13.6px;font-weight:770;line-height:1.5;letter-spacing:-.025em;margin-top:8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nf-list a:hover h4{color:var(--accent)}
.nf-list .m{font-family:var(--mono);font-size:9px;color:var(--fg3);margin-top:10px}