
:root{
  --bg:#14170F;
  --bg-2:#1B1F14;
  --panel:#202516;
  --line:#3A4128;
  --line-soft:#2B311D;
  --red:#D5382C;
  --red-deep:#A3241B;
  --green:#A6C94A;
  --ink:#E9E2CC;
  --muted:#9AA085;
  --gold:#D9A441;
  --hazard:#E0B93B;
  --disp:'ZCOOL QingKe HuangYou','PingFang SC','Microsoft YaHei','SimHei',sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:'IBM Plex Mono',Consolas,Monaco,'Sarasa Mono SC',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  overflow-x:hidden;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  font-size:15px;
  line-height:1.7;
  background-image:
    linear-gradient(rgba(214,56,44,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(214,56,44,.03) 1px,transparent 1px);
  background-size:48px 48px;
}
::selection{background:var(--red);color:#fff}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.mono{font-family:var(--mono)}

/* ---------- 系统状态条 / 导航（与首页一致） ---------- */
.sysbar{
  background:#0E100A;border-bottom:1px solid var(--line-soft);
  font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.04em;
}
.sysbar .wrap{display:flex;justify-content:space-between;align-items:center;height:32px;gap:12px}
.sysbar .l{display:flex;gap:18px;white-space:nowrap}
.sysbar .r{display:flex;gap:18px;white-space:nowrap}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:6px;vertical-align:1px;box-shadow:0 0 6px rgba(166,201,74,.7)}
.sysbar b{color:var(--ink);font-weight:600}
@media(max-width:720px){.sysbar .l span:nth-child(3){display:none}.sysbar .r span:nth-child(2){display:none}}

.nav{position:sticky;top:0;z-index:50;background:rgba(20,23,15,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
section[id]{scroll-margin-top:88px}
.nav .wrap{display:flex;align-items:center;height:64px;gap:32px}
.logo{display:flex;align-items:center;gap:12px;flex-shrink:0}
.star{
  width:34px;height:34px;display:grid;place-items:center;
  background:var(--red);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
.logo-name{font-family:var(--disp);font-size:22px;letter-spacing:.12em;color:var(--ink)}
.logo-name em{font-style:normal;color:var(--red)}
.nav-links{display:flex;gap:4px;flex:1}
.nav-links a{padding:8px 14px;font-size:14px;color:var(--muted);border:1px solid transparent;letter-spacing:.06em}
.nav-links a:hover{color:var(--ink);background:var(--bg-2);border-color:var(--line-soft)}
.nav-links a.hot{color:var(--ink)}
.nav-links a.hot::after{content:"";display:inline-block;width:5px;height:5px;background:var(--red);margin-left:6px;vertical-align:2px}
.nav-links a.on{color:var(--ink);background:var(--bg-2);border-color:var(--red)}
.nav-cta{
  flex-shrink:0;background:var(--red);color:#fff;font-weight:700;font-size:13px;
  padding:9px 18px;letter-spacing:.08em;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.nav-cta:hover{background:var(--red-deep)}
@media(max-width:960px){.nav-links{overflow-x:auto}}

@media(max-width:640px){
  .nav .wrap{gap:8px}
  .star{width:26px;height:26px}
  .logo{gap:8px}
  .logo-name{font-size:16px;letter-spacing:.08em}
  .nav-links{min-width:0;gap:2px}
  .nav-links a{padding:7px 7px;font-size:13px;white-space:nowrap}
  .nav-cta{padding:8px 12px;font-size:12px}
  .nav-user{gap:6px}
  .nav-user b{max-width:56px}
  .nav-user a{padding:5px 8px;font-size:11px}
}

/* ---------- 面包屑 ---------- */
.crumbs{padding:20px 0 0;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.05em}
.crumbs a:hover{color:var(--green)}
.crumbs .sep{margin:0 8px;color:var(--line)}
.crumbs .cur{color:var(--ink)}

/* ---------- 详情头部 ---------- */
.detail-head{
  padding:26px 0 34px;border-bottom:1px solid var(--line);position:relative;
}
.detail-head::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px 260px at 12% 0%,rgba(213,56,44,.10),transparent 65%);
}
.dh-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}
.dh-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.res-type{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  padding:3px 8px;border:1px solid var(--line);color:var(--muted);flex-shrink:0;
}
.res-type.mod{color:var(--green);border-color:rgba(166,201,74,.4);background:rgba(166,201,74,.08)}
.detail-head h1{
  font-family:var(--disp);font-weight:400;
  font-size:clamp(30px,4vw,44px);letter-spacing:.05em;line-height:1.25;
}
.dh-state{
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--green);
  border:1px solid rgba(166,201,74,.35);background:rgba(166,201,74,.06);padding:3px 10px;
}
.dh-meta{
  display:flex;gap:26px;flex-wrap:wrap;margin-top:18px;
  font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em;
}
.dh-meta b{color:var(--ink);font-weight:600}
.dh-meta .stars{color:var(--gold);letter-spacing:2px;font-size:13px}
.dh-meta .stars span{color:var(--line)}

/* ---------- 主体两栏 ---------- */
.detail-body{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:34px 0 60px;align-items:start}
@media(max-width:960px){.detail-body{grid-template-columns:1fr}}

/* ---------- 下载控制台（签名面板） ---------- */
.dl-console{
  border:1px solid var(--line);background:var(--panel);
  box-shadow:0 4px 12px rgba(0,0,0,.3);margin-bottom:24px;
  position:relative;
}
.dl-console::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:1;
  background:repeating-linear-gradient(-45deg,var(--hazard) 0 12px,#11130C 12px 24px);
}
.dlc-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 20px;border-bottom:1px solid var(--line-soft);
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--green);
}
.dlc-head .sig{display:flex;align-items:center;gap:8px}
.blink{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1.2s steps(2) infinite}
@keyframes blink{50%{opacity:.15}}
.dlc-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--line-soft)}
.dlc-cell{background:var(--panel);padding:14px 20px}
.dlc-cell .k{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.15em}
.dlc-cell .v{font-family:var(--mono);font-size:17px;font-weight:600;color:var(--ink);margin-top:3px}
.dlc-cell .v i{font-style:normal;font-size:11px;color:var(--muted);margin-left:2px;font-weight:400}
@media(max-width:640px){.dlc-grid{grid-template-columns:1fr 1fr}.dlc-grid .dlc-cell:first-child{grid-column:1/-1}}

.dlc-verify{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 20px;border-bottom:1px solid var(--line-soft);flex-wrap:wrap;
}
.md5{font-family:var(--mono);font-size:11px;color:#6E7459;letter-spacing:.03em}
.md5 b{color:var(--green);font-weight:400;transition:color .3s,text-shadow .3s}
.md5 b.hl{color:#fff;text-shadow:0 0 10px rgba(166,201,74,.75)}
.copy-md5{
  font-family:var(--mono);font-size:10px;color:var(--muted);cursor:pointer;
  background:transparent;border:1px solid var(--line);padding:3px 10px;letter-spacing:.08em;
  transition:color .15s,border-color .15s;
}
.copy-md5:hover,.copy-md5.ok{color:var(--green);border-color:rgba(166,201,74,.5)}

.dlc-actions{padding:18px 20px;display:flex;flex-direction:column;gap:14px}
.dlc-btnrow{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.dlc-pkg{display:flex;flex-direction:column;gap:6px}
.dlc-pkg label{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.15em}
.dlc-select{
  font-family:var(--mono);font-size:13px;color:var(--ink);letter-spacing:.03em;
  background:var(--bg-2);border:1px solid var(--line);padding:12px 14px;cursor:pointer;width:100%;
}
.dlc-select:hover{border-color:var(--muted)}
.dlc-select:focus{outline:none;border-color:rgba(166,201,74,.55)}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-weight:700;font-size:15px;letter-spacing:.1em;padding:14px 28px;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-deep);filter:drop-shadow(0 0 12px rgba(213,56,44,.55))}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--muted);background:var(--bg-2)}
.dl-note{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.05em;line-height:1.9}
.dl-note b{color:var(--gold);font-weight:400}
.dl-log{
  font-family:var(--mono);font-size:11.5px;color:var(--green);letter-spacing:.05em;
  padding:14px 20px;display:none;line-height:2;
  max-height:138px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;
}
.dl-log.on{display:block}
.dl-log a{color:var(--gold)}
.dl-log a:hover{color:var(--hazard)}
.dl-log .ok{color:var(--green)}
.dl-log .warn{color:var(--hazard)}
.dl-log .cur{display:inline-block;width:8px;height:14px;background:var(--green);vertical-align:-2px;animation:blink 1s steps(2) infinite}

/* ---------- 截图 ---------- */
.shots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}
.shot{
  aspect-ratio:16/9;border:1px solid var(--line-soft);position:relative;overflow:hidden;
  background:
    radial-gradient(rgba(166,201,74,.05) 1px,transparent 0),
    linear-gradient(135deg,rgba(255,255,255,.03),transparent 60%),
    var(--bg-2);
  background-size:8px 8px,100% 100%,auto;
  display:grid;place-items:center;cursor:zoom-in;
  transition:border-color .15s;
}
.shot:hover{border-color:var(--red)}
.shot::before{
  content:"点击查看大图";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--green);
  background:rgba(14,16,10,.88);border:1px solid rgba(166,201,74,.5);padding:4px 12px;
  z-index:2;opacity:0;transition:opacity .15s;pointer-events:none;
}
.shot:hover::before{opacity:1}
.shot .glyph{font-family:var(--disp);font-size:26px;color:var(--muted);letter-spacing:.1em}
.shot img{width:100%;height:100%;object-fit:cover;display:block}
.shot::after{
  content:attr(data-cap);position:absolute;bottom:0;left:0;right:0;
  font-family:var(--mono);font-size:9.5px;color:var(--muted);letter-spacing:.1em;
  background:rgba(14,16,10,.8);padding:3px 8px;
}
.shots .shot:first-child{grid-column:span 2;grid-row:span 2}
.shots .shot:first-child .glyph{font-size:44px}
@media(max-width:640px){.shots{grid-template-columns:1fr 1fr}.shots .shot:first-child{grid-column:span 2}}

/* ---------- 内容选项卡 ---------- */
.tabs{display:flex;border:1px solid var(--line);background:var(--bg-2);margin-bottom:0;overflow-x:auto}
.tab{
  font-family:var(--disp);font-size:17px;letter-spacing:.12em;
  padding:12px 26px;cursor:pointer;background:transparent;border:none;
  color:var(--muted);border-right:1px solid var(--line);white-space:nowrap;flex:1;text-align:center;
}
.tab:last-child{border-right:none}
.tab[aria-selected="true"]{color:#fff;background:var(--red)}
.tab-panel{display:none;padding:26px 24px;border:1px solid var(--line);border-top:none;background:var(--panel)}
.tab-panel.on{display:block}
.prose p{margin-bottom:14px;color:var(--ink)}
.prose p b{color:var(--gold);font-weight:500}
.prose ul{margin:0 0 14px 20px;color:var(--muted)}
.prose li{margin-bottom:6px}
.prose li b{color:var(--ink);font-weight:500}

/* 更新日志 */
.ver-item{border-left:2px solid var(--line);padding:0 0 24px 22px;position:relative}
.ver-item:last-child{padding-bottom:0}
.ver-item::before{
  content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;
  background:var(--bg);border:2px solid var(--muted);
}
.ver-item.now::before{border-color:var(--red);background:var(--red)}
.ver-item .vh{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.ver-item .vnum{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--ink)}
.ver-item .vnum.now{color:var(--red)}
.ver-item .vdate{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em}
.ver-item .vtag{font-family:var(--mono);font-size:10px;padding:1px 8px;border:1px solid rgba(166,201,74,.35);color:var(--green)}
.ver-item ul{margin-left:18px;color:var(--muted);font-size:14px}
.ver-item li{margin-bottom:5px}

/* ---------- 评论区 ---------- */
.rate-bar{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px dashed var(--line);margin-bottom:20px}
.rate-score{font-family:var(--mono);font-size:44px;font-weight:600;color:var(--gold);line-height:1}
.rate-score i{font-style:normal;font-size:16px;color:var(--muted)}
.rate-dist{flex:1;min-width:220px;display:flex;flex-direction:column;gap:5px}
.rd-row{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;color:var(--muted)}
.rd-bar{flex:1;height:8px;background:var(--bg);border:1px solid var(--line-soft);position:relative}
.rd-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--gold);opacity:.75}
.cmt{display:flex;gap:14px;padding:18px 0;border-bottom:1px dashed var(--line-soft)}
.cmt:last-of-type{border-bottom:none}
.avatar{
  width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;
  background:var(--bg-2);border:1px solid var(--line-soft);
  font-family:var(--disp);font-size:17px;color:var(--gold);
}
.avatar.f-sov{color:var(--red)}
.avatar.f-all{color:#5B9BD5}
.avatar.f-yuri{color:#9B6FD8}
.cmt .ch{flex:1;min-width:0}
.cmt .ch-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:5px}
.cmt .who{font-weight:700;font-size:14px}
.cmt .role-tag{font-family:var(--mono);font-size:10px;color:var(--muted);border:1px solid var(--line);padding:1px 7px;letter-spacing:.08em}
.cmt .role-tag.author{color:var(--gold);border-color:rgba(217,164,65,.4)}
.cmt .t{font-family:var(--mono);font-size:11px;color:var(--muted);margin-left:auto}
.cmt .stars{color:var(--gold);font-size:12px;letter-spacing:2px}
.cmt .stars span{color:var(--line)}
.cmt p{font-size:14px;color:var(--ink)}
.cmt .cfoot{margin-top:8px;font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;gap:16px}
.cmt .cfoot button{background:none;border:none;color:var(--muted);font-family:inherit;font-size:inherit;cursor:pointer;letter-spacing:.05em}
.cmt .cfoot button:hover{color:var(--green)}
.cmt .cfoot button.up.on{color:var(--green)}
.cmt.reply{margin-left:34px;padding-top:14px}
.cmt-box{margin-top:20px;border:1px solid var(--line);background:var(--bg-2);padding:16px}
.cmt-box textarea{
  width:100%;min-height:84px;background:var(--bg);border:1px solid var(--line-soft);
  color:var(--ink);font-family:var(--body);font-size:14px;padding:12px;resize:vertical;
}
.cmt-box textarea:focus{outline:none;border-color:rgba(166,201,74,.55)}
.cmt-box .cb-row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px;flex-wrap:wrap}
.cmt-box .hint{font-family:var(--mono);font-size:11px;color:var(--muted)}
.cmt-box .hint b{color:var(--hazard);font-weight:400}
.rate-pick{display:flex;gap:4px;align-items:center}
.rate-pick span{font-size:20px;color:var(--line);cursor:pointer;letter-spacing:2px;transition:color .1s}
.rate-pick span.on{color:var(--gold)}
.mini-btn{
  font-family:var(--body);font-weight:700;font-size:13px;letter-spacing:.08em;
  background:var(--red);color:#fff;border:none;padding:10px 22px;cursor:pointer;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
}
.mini-btn:hover{background:var(--red-deep)}

/* ---------- 侧栏 ---------- */
.side{display:flex;flex-direction:column;gap:24px;position:sticky;top:88px;
  max-height:calc(100vh - 104px);overflow-y:auto;padding-right:2px;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent;
}
.side::-webkit-scrollbar{width:5px}
.side::-webkit-scrollbar-thumb{background:var(--line)}
@media(max-width:960px){.side{position:static;max-height:none;overflow:visible}}
.side-panel{border:1px solid var(--line);background:var(--panel);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.sp-head{
  padding:13px 18px;border-bottom:1px solid var(--line-soft);
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--green);
  display:flex;justify-content:space-between;align-items:center;
}
.author-card{padding:20px 18px;display:flex;gap:14px;align-items:center}
.author-card .avatar{width:52px;height:52px;font-size:22px}
.author-card .an{font-weight:700;font-size:15px}
.author-card .am{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:3px}
.author-card .am b{color:var(--ink);font-weight:600}
.author-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border-top:1px solid var(--line-soft)}
.author-stats div{background:var(--panel);padding:12px 8px;text-align:center}
.author-stats .k{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.12em}
.author-stats .v{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--ink);margin-top:2px}
.follow-btn{
  display:block;width:calc(100% - 36px);margin:0 18px 18px;text-align:center;
  font-weight:700;font-size:13px;letter-spacing:.1em;padding:10px 0;
  border:1px solid var(--red);color:var(--red);cursor:pointer;background:transparent;
  transition:all .15s;
}
.follow-btn:hover,.follow-btn.on{background:var(--red);color:#fff}
.follow-btn.on{border-color:var(--green);background:var(--green);color:#10130B}
.rel-item{display:flex;gap:12px;padding:13px 18px;border-bottom:1px dashed var(--line-soft);align-items:center}
.rel-item:last-child{border-bottom:none}
.rel-item:hover .rn{color:var(--green)}
.rel-item .glyph{
  width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;
  border:1px solid var(--line-soft);background:var(--bg);
  font-family:var(--disp);font-size:16px;color:var(--muted);
}
.rel-item .rn{font-size:13.5px;line-height:1.45}
.rel-item .rm{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}
.rel-item .rm b{color:var(--green);font-weight:600}
.stat-rows{padding:6px 0}
.stat-row{display:flex;justify-content:space-between;padding:9px 18px;font-size:13px;color:var(--muted);border-bottom:1px dashed var(--line-soft)}
.stat-row:last-child{border-bottom:none}
.stat-row b{font-family:var(--mono);color:var(--ink);font-weight:600}
.report{
  display:block;margin:16px 18px 18px;text-align:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--muted);
  border:1px dashed var(--line);padding:9px 0;cursor:pointer;
}
.report:hover{color:var(--hazard);border-color:rgba(224,185,59,.5)}

/* ---------- FAQ 排查折叠 ---------- */
.faq{margin-top:26px;border:1px solid var(--line);background:var(--bg-2)}
.faq-head{
  padding:12px 18px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;
  color:var(--hazard);border-bottom:1px solid var(--line-soft);
}
.faq details{border-bottom:1px dashed var(--line-soft)}
.faq details:last-child{border-bottom:none}
.faq summary{
  padding:12px 18px;cursor:pointer;font-size:14px;color:var(--ink);
  list-style:none;display:flex;align-items:center;gap:10px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"▸";color:var(--hazard);font-family:var(--mono);transition:transform .15s}
.faq details[open] summary::before{transform:rotate(90deg)}
.faq summary:hover{color:var(--green)}
.faq details p{padding:0 18px 14px 34px;font-size:13.5px;color:var(--muted)}
.faq details p b{color:var(--ink);font-weight:500}

/* ---------- 截图 Lightbox ---------- */
.lightbox-overlay{
  position:fixed;inset:0;background:rgba(10,12,8,.92);backdrop-filter:blur(6px);
  z-index:1000;display:flex;overflow-y:auto;padding:24px;
  opacity:0;pointer-events:none;transition:opacity .25s ease;
}
.lightbox-overlay.active{opacity:1;pointer-events:auto}
.lightbox-content{
  margin:auto; /* flex 子项居中；内容超高时两侧可达、可滚动 */
  max-width:min(860px,94vw);border:1px solid var(--line);background:var(--panel);
  box-shadow:0 0 40px rgba(0,0,0,.8);padding:44px 28px 22px;text-align:center;position:relative;
}
.lightbox-content .lb-cap{font-family:var(--disp);font-size:20px;letter-spacing:.1em;margin-bottom:16px}
.lightbox-body{
  width:auto;max-width:min(720px,84vw);max-height:min(520px,62vh);
  margin:0 auto;display:grid;place-items:center;overflow:hidden;
  border:1px solid var(--line-soft);
  background:radial-gradient(rgba(166,201,74,.05) 1px,transparent 0),var(--bg-2);
  background-size:8px 8px;
  font-family:var(--disp);font-size:64px;color:var(--muted);
}
.lightbox-body img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.lightbox-close{
  position:absolute;top:10px;right:10px;cursor:pointer;z-index:2;
  font-family:var(--mono);font-size:15px;letter-spacing:.08em;
  background:var(--panel);border:1px solid var(--line);color:var(--muted);
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;line-height:1;
  transition:color .15s,border-color .15s,transform .15s;
}
.lightbox-close:hover{color:var(--red);border-color:var(--red);transform:rotate(90deg)}
.lightbox-hint{
  margin-top:14px;font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.1em;
}

/* ---------- 警戒条 ---------- */
.hazard{height:12px;background:repeating-linear-gradient(-45deg,var(--hazard) 0 16px,#11130C 16px 32px);opacity:.85}

/* ---------- 页脚 ---------- */
footer{border-top:1px solid var(--line);margin-top:0;background:#0E100A}
.foot-bottom{
  padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:var(--mono);font-size:11.5px;color:#6E7459;letter-spacing:.05em;
}

/* ---------- 降级 ---------- */
@media(prefers-reduced-motion:reduce){
  .blink,.cur,.cmt-item.new{animation:none;opacity:.5}
  html{scroll-behavior:auto}
}
