/* ============================================================
   资源淘 · 站点样式（自 UI 设计稿 v1.0「纸上档案馆」提取）
   字体、设计令牌、组件均与设计稿一致；断点：780px
   ============================================================ */
@font-face{font-family:'BigShoulders';src:url('fonts/BigShoulders-Bold.ttf') format('truetype');font-weight:700 900;font-display:swap}
@font-face{font-family:'BigShoulders';src:url('fonts/BigShoulders-Regular.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:'GeistMono';src:url('fonts/GeistMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'GeistMono';src:url('fonts/GeistMono-Bold.ttf') format('truetype');font-weight:600 700;font-display:swap}

:root{
  --red:#BE3A21; --red-d:#982B16;
  --ink:#23201A; --muted:#7C7466;
  --paper:#F2EEE3; --card:#FAF7EF;
  --blue:#2F5380; --line:#D8D0BD; --mark:#F3DFA3;
  --sans:'PingFang SC','Microsoft YaHei','Noto Sans SC',sans-serif;
  --disp:'BigShoulders','PingFang SC','Microsoft YaHei',sans-serif;
  --mono:'GeistMono',Consolas,'Courier New',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block}
.ic{width:16px;height:16px;flex-shrink:0}
.ic-lg{width:22px;height:22px}

/* ============ 顶栏 / 页头 ============ */
.tbar{background:var(--ink);color:#CFC7B2;font-size:12px}
.tbar .wrap{display:flex;align-items:center;justify-content:space-between;height:34px;gap:12px}
.tbar b{color:#F2EEE3;font-weight:600}
.tbar .tred{color:#E8705A}

.site{background:var(--paper);font-size:15px;position:relative}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

.shead .wrap{display:flex;align-items:center;gap:26px;padding-top:15px;padding-bottom:15px;border-bottom:2px solid var(--ink)}
.brand{display:flex;align-items:center;gap:10px}
.brand-seal{width:36px;height:36px;background:var(--red);color:#F7F3E8;display:grid;place-items:center;font-size:20px;font-weight:900;flex-shrink:0}
.brand-name{font-size:19px;font-weight:900;letter-spacing:.04em;line-height:1.1}
.brand-sub{font-family:var(--disp);font-size:10.5px;letter-spacing:.24em;color:var(--muted);margin-top:2px}
.mainnav{display:flex;gap:4px}
.mainnav a{font-size:13.5px;font-weight:600;padding:7px 10px;color:#4A443A}
.mainnav a:hover,.mainnav a.on{color:var(--red)}
.nav-toggle{display:none;place-items:center;width:40px;height:40px;border:2px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;flex-shrink:0}
.nav-toggle:hover{background:var(--ink);color:var(--paper)}
.scrim,.drawer{display:none}
.hsearch{margin-left:auto;width:290px}

/* 搜索框（详情页/分类页顶栏 与 搜索结果页增高） */
.hsearch .search input{padding:10px 13px}
.msearch .search input{padding:10px 13px}
.sp-hero .search input{padding:10px 13px}
.search{display:flex;align-items:stretch;border:2px solid var(--ink);background:var(--card)}
.search input{flex:1;min-width:0;border:0;background:transparent;padding:0 13px;font-size:13.5px;font-family:var(--sans);outline:none;color:var(--ink)}
.search input::placeholder{color:#A79D85}
.search button{width:44px;border:0;background:var(--red);color:#F7F3E8;display:grid;place-items:center;cursor:pointer}
.search button:hover{background:var(--red-d)}
.search.big input{padding:13px 16px;font-size:14.5px}
.search.big button{width:54px}
.msearch{display:none}

/* ============ 首页 ============ */
.hero{padding:44px 24px 42px;text-align:center;border-bottom:1px solid var(--line)}
.hero .search{max-width:600px;margin:24px auto 0}
.hot{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.hot a{font-size:12px;color:var(--muted);border:1px solid var(--line);background:var(--card);padding:4px 11px}
.hot a:hover{color:var(--red);border-color:var(--red)}
.hot .hl{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:#A79D85;margin-right:2px}

.sec-h{display:flex;align-items:baseline;gap:10px;margin:30px 0 16px}
.sec-h .sq{width:10px;height:10px;background:var(--red);flex-shrink:0;align-self:center}
.sec-h h2{font-size:20px;font-weight:900;letter-spacing:.02em}
.sec-h .more{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--muted)}
.sec-h .more:hover{color:var(--red)}

.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}
.card{display:flex;gap:16px;padding:17px 0;border-bottom:1px dashed var(--line)}
.card:hover .card-t{color:var(--red)}
.card-cover{position:relative;width:152px;aspect-ratio:4/3;align-self:flex-start;flex-shrink:0;overflow:hidden;border:1px solid var(--line);background:#E9E4D4}
.card-cover img{width:100%;height:100%;object-fit:cover}
.card-body{flex:1;min-width:0}
.card-t{font-size:16.5px;font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.ad-corner{position:absolute;right:0;top:0;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.18em;padding:2px 7px}

/* ============ 页脚 ============ */
.sfoot{background:var(--ink);color:#B9B19D;margin-top:52px}
.sfoot .wrap{padding-top:34px;padding-bottom:0}
.fgrid{display:grid;grid-template-columns:1fr;gap:0;padding-bottom:24px}
.fbrand{display:flex;align-items:center;gap:10px;color:#F2EEE3}
.fbrand .brand-seal{width:30px;height:30px;font-size:16px}
.fbrand b{font-size:16px;font-weight:900}
.fdis{font-size:12px;line-height:1.85;margin-top:12px;color:#8F8772}
.fbottom{border-top:1px solid rgba(242,238,227,.14);padding:13px 0 15px;font-size:11.5px;display:flex;justify-content:space-between;gap:12px;color:#8F8772}
.fkefu{appearance:none;border:0;background:transparent;font-family:var(--sans);font-size:11.5px;color:#B9B19D;cursor:pointer;letter-spacing:.02em;padding:0;text-decoration:underline;text-underline-offset:2px}
.fkefu:hover{color:#F2EEE3}
.kefu-modal{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;margin:0;background:rgba(35,32,26,.62);display:flex;align-items:center;justify-content:center;z-index:999}
.kefu-modal[hidden]{display:none}
.kefu-card{position:relative;background:var(--card);border:1px solid var(--line);box-shadow:0 24px 60px -20px rgba(35,32,26,.55);padding:26px 26px 20px;text-align:center;max-width:min(88vw,720px)}
.kefu-card img{width:auto;height:auto;max-width:min(78vw,640px);max-height:72vh;background:#fff;padding:6px;border:1px solid var(--line);display:block;margin:0 auto}
.kefu-card.qr img{width:200px;height:200px}
.kefu-t{font-size:16px;font-weight:900;margin-top:14px}
.kefu-s{font-size:12px;color:var(--muted);margin-top:6px}
.kefu-x{position:absolute;top:6px;right:10px;border:0;background:transparent;font-size:22px;line-height:1;color:var(--muted);cursor:pointer;padding:4px}
.kefu-x:hover{color:var(--ink)}
.fbottom .mono{font-family:var(--mono);letter-spacing:.06em}
.fbottom a{color:#B9B19D;text-decoration:underline;text-underline-offset:2px}
.fbottom a:hover{color:#F2EEE3}

/* ============ 详情页 ============ */
.crumbs{display:flex;flex-wrap:wrap;gap:7px;font-size:12px;color:var(--muted);padding:16px 0 4px}
.crumbs a:hover{color:var(--red)}
.crumbs .sep{color:#B7AE97}
.dhead{display:grid;grid-template-columns:1fr;gap:24px;padding-top:10px}
.dcover{position:relative;border:1px solid var(--ink);background:#E9E4D4;max-width:100%}
.dcover img{width:100%}
.dt{font-size:27px;font-weight:900;line-height:1.4;margin:8px 0 12px;letter-spacing:.01em}
.dmeta{display:flex;flex-wrap:wrap;gap:7px 18px;font-size:12.5px;color:var(--muted)}
.dmeta span{display:inline-flex;align-items:center;gap:6px}
.dmeta .ic{width:14px;height:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ink);background:var(--card);color:var(--ink);font-family:var(--sans);font-size:14px;font-weight:700;padding:11px 20px;cursor:pointer;letter-spacing:.03em;transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.btn-primary{background:var(--red);border-color:var(--red);color:#F7F3E8}
.btn-primary:hover{box-shadow:4px 4px 0 var(--ink)}
.dcontent h2{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:900;margin:34px 0 14px}
.dcontent h2 .sq{width:10px;height:10px;background:var(--red);flex-shrink:0}
.dcontent p{font-size:15px;line-height:1.95;color:#3A352C;margin-bottom:12px}
.features{list-style:none;margin-top:4px}
.features li{position:relative;padding:5px 0 5px 20px;font-size:14.5px;line-height:1.8;color:#3A352C}
.features li::before{content:"";position:absolute;left:2px;top:.95em;width:8px;height:8px;background:var(--red)}

/* 获取区（盖印解锁） */
.gate{border:2px solid var(--ink);background:var(--card);margin:34px 0 8px;position:relative}
.gate-h{display:flex;align-items:center;gap:10px;background:var(--ink);color:#F2EEE3;padding:11px 16px}
.gate-h .sq{width:10px;height:10px;background:var(--red)}
.gate-h strong{font-size:15.5px;letter-spacing:.06em}
.free{margin-left:auto;background:var(--red);color:#F7F3E8;font-family:var(--disp);font-size:12px;letter-spacing:.28em;padding:3px 9px 3px 12px;font-weight:700}
.gate-b{padding:18px}
.gstep{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}
.gno{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--red);font-weight:600}
.gtxt{font-size:13px;color:#4A443A}
.adslot2{position:relative;cursor:pointer;border:1px solid var(--line);transition:transform .15s ease,box-shadow .15s ease}
.adslot2 img{width:100%;max-height:220px;object-fit:cover}
.adslot2:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
/* 广告位占位（接入联盟广告后，替换 .adslot-ph 为素材图即可） */
.adslot-ph{display:grid;place-items:center;align-content:center;gap:6px;min-height:170px;background:repeating-linear-gradient(45deg,#EDE8D8,#EDE8D8 14px,#F4F0E4 14px,#F4F0E4 28px)}
.adslot-ph .ph-t{font-family:var(--disp);font-size:15px;letter-spacing:.34em;color:#A79D85}
.adslot-ph .ph-s{font-size:11px;color:#B7AE97;letter-spacing:.1em}
.glinks{margin-top:16px;border:1.5px dashed #C4BBA3;padding:14px;position:relative}
.lockmask{display:flex;flex-direction:column;align-items:center;gap:9px;padding:22px 12px;color:var(--muted);text-align:center}
.lockmask .ic-lg{width:26px;height:26px;color:#B7AE97}
.locktxt{font-size:14px;font-weight:600;color:#6E6656}
.locksub{font-size:12px}
.glinks-real{display:none}
.glink-row{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);background:var(--paper);margin-top:10px}
.glink-row:first-child{margin-top:0}
.pan-chip{background:var(--blue);color:#F5F1E6;font-size:11.5px;font-weight:600;padding:3px 8px;letter-spacing:.06em;white-space:nowrap}
.gurl{font-family:var(--mono);font-size:13px;color:var(--blue);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}
.gcode{font-family:var(--mono);font-size:12.5px;color:var(--muted);white-space:nowrap}
.btn-mini{border:1.5px solid var(--ink);background:var(--card);font-family:var(--sans);font-size:12px;font-weight:600;padding:6px 12px;cursor:pointer;white-space:nowrap}
.btn-mini:hover{background:var(--ink);color:var(--paper)}
.btn-mini.go{background:var(--red);border-color:var(--red);color:#F7F3E8}
.btn-mini.go:hover{background:var(--red-d)}
.stamp{position:absolute;top:-15px;right:14px;transform:rotate(-8deg) scale(2.4);opacity:0;border:3px solid var(--red);color:var(--red);font-weight:900;font-size:15px;letter-spacing:.3em;padding:6px 10px 6px 14px;background:rgba(250,247,239,.92);pointer-events:none;z-index:2}
.gate.unlocked .stamp{animation:stampin .38s cubic-bezier(.22,1.4,.42,1) forwards}
@keyframes stampin{from{opacity:0;transform:rotate(-8deg) scale(2.4)}to{opacity:1;transform:rotate(-8deg) scale(1)}}
.gate.unlocked .lockmask{display:none}
.gate.unlocked .glinks-real{display:block}
.gnote{margin-top:13px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px;line-height:1.7}
.gnote .ic{width:14px;height:14px;color:var(--red)}

.related{margin-top:42px}

/* ============ 搜索结果页 ============ */
.sp-hero{padding:26px 0 20px;border-bottom:1px solid var(--line)}
.sp-hero h1{font-size:22px;font-weight:900;letter-spacing:.01em}
.sp-hero h1 em{font-style:normal;color:var(--red)}
.sp-hero h1 .cnt{font-family:var(--disp);font-size:24px;color:var(--red);margin:0 2px}
.sp-hero .search{max-width:520px;margin-top:16px}
.result{display:flex;gap:16px;padding:17px 0;border-bottom:1px dashed var(--line)}
.result:first-child{padding-top:12px}
.rthumb{width:152px;flex-shrink:0;aspect-ratio:4/3;align-self:flex-start;border:1px solid var(--line);overflow:hidden;background:#E9E4D4;position:relative}
.rthumb img{width:100%;height:100%;object-fit:cover}
.rbody{min-width:0}
.rbody h3{font-size:16.5px;font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rbody h3 a:hover{color:var(--red)}
.rbody mark{background:var(--mark);color:inherit;padding:0 2px}
.rsnip{font-size:13px;color:var(--muted);line-height:1.75;margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rmeta{display:flex;flex-wrap:wrap;gap:5px 14px;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.05em;margin-top:8px}
.rmeta span{display:inline-flex;align-items:center;gap:4px}
.rmeta .ic{width:13px;height:13px}

/* 浏览量（本站计数，数据来自 assets/views.json） */
.pv{display:inline-flex;align-items:center;gap:4px}
.pv b{font-family:var(--mono);font-weight:700;color:#3A342A;letter-spacing:0}
.rmeta .pv b{color:var(--ink)}
.dmeta .pv{color:var(--muted)}

/* ============ 分页器 / 空状态 ============ */
.pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:32px}
.pg-btn,.pg-num{border:1px solid var(--line);background:var(--card);font-size:13px;padding:8px 14px;color:#4A443A;text-align:center}
.pg-num{font-family:var(--mono);font-size:12.5px;padding:8px 12px;min-width:38px}
.pg-num:hover{border-color:var(--red);color:var(--red)}
.pg-num.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pg-btn:hover{border-color:var(--ink)}
.pg-btn.pg-disabled{opacity:.4;pointer-events:none}
.pg-dots{color:var(--muted);padding:0 2px}
.empty{border:1.5px dashed #C4BBA3;background:var(--card);padding:46px 20px;text-align:center;margin:4px 0 8px}
.empty .ic-lg{width:30px;height:30px;color:#B7AE97}
.empty-t{font-size:17px;font-weight:800;margin-top:14px}
.empty-t em{font-style:normal;color:var(--red)}
.empty-s{font-size:13px;color:var(--muted);margin-top:9px;line-height:1.85}
.empty-acts{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.empty-kefu{margin-top:22px;display:flex;align-items:center;justify-content:center;gap:12px}
.empty-kefu img{width:110px;height:110px;border:1px solid var(--line);background:#fff;padding:4px}
.empty-kefu span{font-size:13px;color:var(--muted);text-align:left}

/* ============ 移动端（780px，对应设计稿容器查询） ============ */
@media (max-width:780px){
  .tbar .tstats{display:none}
  .tbar .wrap{justify-content:center}
  .shead .wrap{gap:14px}
  .mainnav,.hsearch{display:none}
  .nav-toggle{display:grid;margin-left:auto}
  .site{overflow:hidden}
  .scrim{display:block;position:absolute;inset:0;background:rgba(35,32,26,.42);opacity:0;pointer-events:none;transition:opacity .25s;z-index:6}
  .site.drawer-open .scrim{opacity:1;pointer-events:auto}
  .drawer{display:flex;flex-direction:column;position:absolute;top:0;right:0;bottom:0;width:min(78%,300px);background:var(--paper);border-left:2px solid var(--ink);transform:translateX(102%);transition:transform .28s cubic-bezier(.22,.9,.3,1);z-index:7;overflow-y:auto}
  .site.drawer-open .drawer{transform:none}
  .drawer-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:2px solid var(--ink)}
  .drawer-h .brand-seal{width:30px;height:30px;font-size:16px}
  .drawer-h b{font-size:17px;font-weight:900}
  .drawer-x{margin-left:auto;width:34px;height:34px;display:grid;place-items:center;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer}
  .drawer-x:hover{border-color:var(--ink)}
  .drawer > a{padding:14px 18px;font-size:15px;font-weight:600;color:#4A443A;border-bottom:1px dashed var(--line)}
  .drawer > a:hover{color:var(--red)}
  .drawer > a.on{color:var(--red);background:var(--card);box-shadow:inset 3px 0 0 var(--red)}
  .brand-name{font-size:17px}
  .msearch{display:block;padding:11px 16px 13px;border-bottom:2px solid var(--ink);background:var(--card)}
  .msearch .search{width:100%}
  .hero{padding:34px 16px 32px}
  .hero .search.big{margin-top:20px}
  .wrap{padding:0 16px}
  .grid{grid-template-columns:1fr;gap:0}
  .card{gap:12px;padding:14px 0}
  .card-cover{width:138px}
  .sec-h{margin:26px 0 14px}
  .sec-h h2{font-size:17.5px}
  .fgrid{grid-template-columns:1fr;gap:22px;padding-bottom:22px}
  .fbottom{flex-direction:column;gap:6px}
  .dhead{grid-template-columns:1fr;gap:22px;padding-top:6px}
  .dt{font-size:21px}
  .btn{padding:12px 18px}
  .gate-b{padding:14px}
  .glink-row{flex-wrap:wrap}
  .gurl{order:5;flex-basis:100%;margin-top:2px;white-space:normal}
  .btn-mini{padding:8px 13px}
  .result{gap:12px;padding:14px 0}
  .rthumb{width:104px}
  .rbody h3{font-size:14.5px}
  .card-t{font-size:14.5px}
  .rsnip{-webkit-line-clamp:2;font-size:12.5px}
  .sp-hero h1{font-size:18px}
  .sp-hero .search{max-width:100%}
  .pager{gap:6px;margin-top:24px}
  .pg-btn,.pg-num{padding:7px 11px;font-size:12px}
  .empty{padding:34px 14px}
  .empty-t{font-size:15.5px}
}
