:root{
    /* ===== 主题色：换风格只改这 3 行 =====
       青紫(默认) #6366f1 / #22d3ee
       金橙高端   #f59e0b / #fbbf24
       翡翠绿     #10b981 / #34d399
       玫红       #ec4899 / #f472b6  */
    --brand:#6366f1;
    --brand2:#22d3ee;

    --bg:#08090d;
    --panel:#0f1117;
    --panel2:#141720;
    --line:#21252f;
    --ink:#f2f4f8;
    --sub:#98a2b3;
    --mute:#6b7280;
    --radius:14px;
    --max:1180px;

    /* 卡片阴影与光晕强度（日/夜各自覆盖） */
    --brand-soft:rgba(99,102,241,.16);
    --shadow:0 18px 40px rgba(0,0,0,.45);
    --glow:rgba(99,102,241,.30);
  }

  /* ===== 日间模式：只覆盖颜色变量，结构不动 ===== */
  [data-theme="light"]{
    --bg:#f6f7fb;
    --panel:#ffffff;
    --panel2:#f4f6fa;
    --line:#e4e8f0;
    --ink:#111827;
    --sub:#5b6779;
    --mute:#8b95a6;
    --brand-soft:rgba(99,102,241,.12);
    --shadow:0 14px 34px rgba(23,32,64,.10);
    --glow:rgba(99,102,241,.16);
  }
  /* 浅色模式：网格会显脏，关掉，只留干净底色 */
  /* ⚠ 浅色模式原来写死成纯白、完全无视后台配置，所以「白天不变颜色」。
     现在改成跟深色同一套变量，只是默认值不同：
       --bg-c1-lt / --bg-c2-lt  只有用户在后台改过底色才会输出，没改就回落浅色默认 #f6f7fb
       --bg-grid-lt             只有用户改过网格色才输出，没改就 transparent（浅底默认不画网格）
     —— 也就是：不改=保持原来的干净浅色；改了=白天也跟着变。 */
  [data-theme="light"] body{
    background-color:var(--bg-c1-lt, var(--bg));
    background-image:
      var(--bg-image, none),
      linear-gradient(var(--bg-grid-lt, transparent) 1px, transparent 1px),
      linear-gradient(90deg, var(--bg-grid-lt, transparent) 1px, transparent 1px),
      linear-gradient(180deg,
        var(--bg-c1-lt, var(--bg)) 0%,
        var(--bg-c2-lt, var(--bg)) 55%,
        var(--bg-c1-lt, var(--bg)) 100%);
    background-size:var(--bg-fit, cover),
      var(--bg-size, 44px) var(--bg-size, 44px),
      var(--bg-size, 44px) var(--bg-size, 44px),
      100% 100%;
    background-position:var(--bg-pos, center top), center top, center top, center top;
    background-repeat:no-repeat, repeat, repeat, no-repeat;
    background-attachment:fixed, fixed, fixed, fixed;
  }
  /* 浅色模式：同样只有设了背景图才加遮罩 */
  [data-theme="light"] body::before{display:none}
  [data-theme="light"] body[data-bg-hasimg="1"]::after{
    background:rgba(5,6,10,var(--bg-mask, .35));
  }
  /* 浅色模式关网格 */
  [data-theme="light"] body[data-bg-grid-off="1"]{
    background-image:var(--bg-image, none),
      linear-gradient(180deg,
        var(--bg-c1-lt, var(--bg)) 0%,
        var(--bg-c2-lt, var(--bg)) 55%,
        var(--bg-c1-lt, var(--bg)) 100%);
    background-size:var(--bg-fit, cover), 100% 100%;
    background-position:var(--bg-pos, center top), center top;
    background-repeat:no-repeat, no-repeat;
  }

  [data-theme="light"] ::-webkit-scrollbar-thumb{background:#d3d9e4}
  [data-theme="light"] ::-webkit-scrollbar-track{background:#f6f7fb}
  [data-theme="light"] header{background:rgba(255,255,255,.82)}
  [data-theme="light"] .hero:before{
    background:
      radial-gradient(760px 380px at 15% -10%, var(--hero-g1-lt, rgba(99,102,241,.16)), transparent 68%),
      radial-gradient(620px 340px at 85% 5%,  var(--hero-g2-lt, rgba(34,211,238,.12)), transparent 70%);
  }
  [data-theme="light"] .hero:after{opacity:.5}
  [data-theme="light"] .hero h1{background:linear-gradient(100deg,#111827 12%, var(--brand) 60%, #0e7490 96%);
    -webkit-background-clip:text;background-clip:text;color:transparent}
  [data-theme="light"] .mask{background:rgba(20,24,35,.45)}
  [data-theme="light"] .thumb:before{
    background:
      linear-gradient(135deg,rgba(99,102,241,.10),rgba(34,211,238,.05)),
      repeating-linear-gradient(45deg,rgba(17,24,39,.03) 0 12px,transparent 12px 24px),
      #eef1f7;
  }
  [data-theme="light"] .thumb:after{color:#9aa4b5}
  [data-theme="light"] .thumb .badge{background:rgba(255,255,255,.82)}
  /* 日间模式下把状态色加深，保证白底对比度 */
  [data-theme="light"] .s-在售{background:#e7f8ef;color:#047857;border-color:#a7e8c8}
  [data-theme="light"] .s-已预订{background:#fff4e5;color:#b45309;border-color:#fcd9a8}
  [data-theme="light"] .s-已出售{background:#f1f3f7;color:#8b95a6;border-color:#e4e8f0}
  [data-theme="light"] .p-tag{background:var(--brand-soft);color:#4338ca}
  [data-theme="light"] .c-type{filter:brightness(.72)}
  [data-theme="light"] .l-price,[data-theme="light"] .p-title{color:#111827}

  /* 主题切换动画 */
  body,header,.card,.step,.box,.list,.post,.modal,.thumb,.tabs,.tab,.sw,.l-row,.metrics{
    transition:background-color .3s ease,border-color .3s ease,color .3s ease;
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    color:var(--ink);line-height:1.6;
    -webkit-font-smoothing:antialiased;

    /* ===== 深色 + 网格科技感背景 =====
       两层叠加：
       1) 底部深色渐变（近黑 → 略带蓝紫）
       2) 44px 细网格线（横竖两组 linear-gradient）
       网格是 fixed + 不随滚动，视觉上像"透过屏幕看代码底纹"
       浅色模式下自动关闭（见下方 [data-theme="light"] 覆盖） */
    background-color:var(--bg);

    /* ⚠ 全部走 CSS 变量，后台「整站背景」页签可直接改：
         --bg-image   背景图（留空=纯色/网格）
         --bg-grid    网格线颜色（带 alpha）
         --bg-size    网格间距
         --bg-c1/--bg-c2  底色渐变两端
       变量由 header.php 按后台配置输出，默认值写在 :root 里。 */
    background-image:
      var(--bg-image, none),
      linear-gradient(var(--bg-grid, rgba(99,102,241,.055)) 1px, transparent 1px),
      linear-gradient(90deg, var(--bg-grid, rgba(99,102,241,.055)) 1px, transparent 1px),
      radial-gradient(1200px 620px at 50% -8%, rgba(99,102,241,.13), transparent 70%),
      linear-gradient(180deg,
        var(--bg-c1, #07080c) 0%,
        var(--bg-c2, #0b0e16) 55%,
        var(--bg-c1, #07080c) 100%);
    background-size:var(--bg-fit, cover),
      var(--bg-size, 44px) var(--bg-size, 44px),
      var(--bg-size, 44px) var(--bg-size, 44px),
      100% 100%, 100% 100%;
    background-position:var(--bg-pos, center top),
      center top, center top, center top, center top;
    background-repeat:no-repeat, repeat, repeat, no-repeat, no-repeat;
    background-attachment:fixed, fixed, fixed, fixed, fixed;
  }

  /* 关网格时：把两层网格线去掉，只留图片/底色 */
  body[data-bg-grid-off="1"]{
    background-image:
      var(--bg-image, none),
      radial-gradient(1200px 620px at 50% -8%, rgba(99,102,241,.13), transparent 70%),
      linear-gradient(180deg,
        var(--bg-c1, #07080c) 0%,
        var(--bg-c2, #0b0e16) 55%,
        var(--bg-c1, #07080c) 100%);
    background-size:var(--bg-fit, cover), 100% 100%, 100% 100%;
    background-position:var(--bg-pos, center top), center top, center top;
    background-repeat:no-repeat, no-repeat, no-repeat;
  }

  /* 背景图暗化遮罩（强度后台可调 0-100）。
     ⚠ 写成「默认关闭 + 只有 data-bg-hasimg=1 才开」而不是反过来：
       万一那段设置属性的 JS 没执行（被拦截/报错），最坏结果是图片不暗化，
       而不是把整站（含白底）压成灰色。安全方向优先。 */
  body::after{
    content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;display:none;
    background:rgba(5,6,10,var(--bg-mask, .35));
  }
  body[data-bg-hasimg="1"]::after{display:block}

  /* 网格之上再压一层极淡的暗角，让中间内容更聚焦（纯装饰，不挡内容） */
  body::before{
    content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:radial-gradient(900px 520px at 50% 22%, rgba(34,211,238,.055), transparent 72%);
  }
  /* 内容始终在网格之上：
     ::before 用了 z-index:-1，天然位于普通流内容之下，无需额外处理 */
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
  ::selection{background:var(--brand);color:#fff}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-thumb{background:#22262f;border-radius:6px}
  ::-webkit-scrollbar-track{background:var(--bg)}

  /* ---------- 日夜切换按钮 ---------- */
  .theme-btn{
    width:36px;height:36px;border-radius:10px;flex:none;
    border:1px solid var(--line);background:var(--panel2);color:var(--sub);
    cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
    font-size:16px;line-height:1;transition:.2s;
  }
  .theme-btn:hover{color:var(--brand);border-color:var(--brand)}

  /* ---------- 按钮 ---------- */
  /* 卡片底部双按钮：查看详情（左） + 立即购买（右） */
  .c-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
  .c-btns .btn{width:100%;text-align:center;padding:9px 6px;font-size:13.5px}
  /* 卡片里的「查看详情」：蓝青渐变（主题主色），与橙红「立即购买」形成主次对比 */
  .c-btns .btn.c-detail{
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    background:linear-gradient(135deg,#6366f1,#22d3ee);
    color:#fff;border-color:transparent;
    box-shadow:0 4px 14px rgba(99,102,241,.28);
  }
  .c-btns .btn.c-detail:hover{filter:brightness(1.08);transform:translateY(-1px)}
  .c-btns .c-buy{
    background:linear-gradient(135deg,#f59e0b,#ef4444);
    color:#fff;box-shadow:0 4px 14px rgba(245,158,11,.28);
  }
  .c-btns .c-buy:hover{filter:brightness(1.08);transform:translateY(-1px)}
  @media (max-width:360px){
    .c-btns{grid-template-columns:1fr}
  }

  /* 弹窗里的「查看详情」也用蓝青渐变，与卡片保持一致 */
  .modal .row .btn.ghost:not(.buy){
    background:linear-gradient(135deg,#6366f1,#22d3ee);
    color:#fff;border-color:transparent;
    box-shadow:0 4px 14px rgba(99,102,241,.26);
  }
  .modal .row .btn.ghost:not(.buy):hover{filter:brightness(1.08);transform:translateY(-1px)}

  /* 「立即购买」主按钮：金橙渐变，视觉上盖过其他按钮 */
  .btn.buy{
    background:linear-gradient(135deg,#f59e0b,#ef4444);
    color:#fff;box-shadow:0 6px 18px rgba(245,158,11,.32);
  }
  .btn.buy:hover{filter:brightness(1.08);transform:translateY(-1px)}
  .btn{
    display:inline-block;padding:10px 20px;border-radius:10px;font-size:14px;font-weight:600;
    border:1px solid transparent;cursor:pointer;transition:.2s;font-family:inherit;
    background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;
    box-shadow:0 4px 16px rgba(99,102,241,.25);
  }
  .btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.38)}
  .btn.ghost{background:var(--panel2);color:var(--ink);border-color:var(--line);box-shadow:none}
  .btn.ghost:hover{border-color:var(--brand);color:#fff}
  .btn.sm{padding:7px 14px;font-size:13px;border-radius:9px}
  .btn.block{display:block;width:100%;text-align:center}
  .btn[disabled]{background:var(--panel2);color:var(--mute);border-color:var(--line);box-shadow:none;cursor:not-allowed;transform:none}

  /* ---------- 头部 ---------- */
  header{
    position:sticky;top:0;z-index:60;
    background:rgba(8,9,13,.82);backdrop-filter:blur(16px) saturate(180%);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;height:64px}
  .logo{font-weight:800;font-size:17px;letter-spacing:-.02em;display:flex;align-items:center;gap:9px}
  .logo i{
    width:10px;height:10px;border-radius:3px;display:block;
    background:linear-gradient(135deg,var(--brand),var(--brand2));
    box-shadow:0 0 14px rgba(99,102,241,.7);
  }
  .logo span{color:var(--mute);font-weight:500;font-size:13px}
  .nav-links{display:flex;gap:28px;font-size:14px;color:var(--sub)}
  .nav-links a{transition:.18s}
  .nav-links a:hover{color:var(--ink)}

  /* ---------- Hero ---------- */
  .hero{position:relative;padding:96px 0 72px;overflow:hidden;border-bottom:1px solid var(--line)}
  /* ⚠ 光斑与网格全部改走变量，跟「整站背景」页签联动。
     之前是硬编码的蓝紫光斑 + 56px 网格，所以后台改了背景这一块不变。 */
  .hero:before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(760px 380px at 15% -10%, var(--hero-g1, rgba(99,102,241,.30)), transparent 68%),
      radial-gradient(620px 340px at 85% 5%,  var(--hero-g2, rgba(34,211,238,.16)), transparent 70%);
  }
  .hero:after{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;
    background-image:
      linear-gradient(var(--bg-grid, rgba(99,102,241,.055)) 1px,transparent 1px),
      linear-gradient(90deg,var(--bg-grid, rgba(99,102,241,.055)) 1px,transparent 1px);
    background-size:var(--bg-size, 44px) var(--bg-size, 44px);
    mask-image:radial-gradient(760px 340px at 50% 0%, #000, transparent 78%);
    -webkit-mask-image:radial-gradient(760px 340px at 50% 0%, #000, transparent 78%);
  }

  /* 关网格：hero 局部网格也一起关 */
  body[data-bg-grid-off="1"] .hero:after{display:none}

  /* 设了背景图：减弱 hero 光斑，让图片透出来（否则图被光斑糊住） */
  body[data-bg-hasimg="1"] .hero:before{opacity:.28}
  body[data-bg-hasimg="1"] .hero:after{opacity:.18}
  .hero .wrap{position:relative;z-index:2}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--sub);
    background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:5px 14px;margin-bottom:24px;
  }
  .eyebrow b{
    width:6px;height:6px;border-radius:50%;background:#10b981;display:block;
    box-shadow:0 0 0 4px rgba(16,185,129,.16);
  }
  .hero h1{
    font-size:clamp(34px,5.6vw,60px);line-height:1.12;font-weight:800;letter-spacing:-.035em;max-width:15em;
    background:linear-gradient(100deg,#fff 12%, var(--brand) 55%, var(--brand2) 96%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero p{margin-top:20px;font-size:17px;color:var(--sub);max-width:42em}
  .stats{display:flex;flex-wrap:wrap;gap:52px;margin-top:44px}
  .stat b{
    display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;
    background:linear-gradient(135deg,var(--brand),var(--brand2));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .stat span{font-size:12.5px;color:var(--mute)}

  /* ---------- 主切换 ---------- */
  .switcher{display:flex;gap:6px;padding:34px 0 8px}
  .sw{
    padding:10px 22px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;
    border:1px solid var(--line);background:var(--panel);color:var(--sub);transition:.2s;
  }
  .sw:hover{color:var(--ink);border-color:#2c3240}
  .sw.on{
    background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent;
    box-shadow:0 6px 20px rgba(99,102,241,.3);
  }
  .sw em{font-style:normal;font-size:12px;opacity:.7;margin-left:6px}

  /* ---------- 工具条 ---------- */
  .toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 0 20px}
  .tabs{display:flex;gap:8px;flex-wrap:wrap}
  .tab{
    padding:6px 14px;border-radius:20px;font-size:13px;color:var(--sub);
    border:1px solid var(--line);background:var(--panel);cursor:pointer;transition:.15s;
  }
  .tab:hover{color:var(--ink);border-color:var(--brand)}
  .tab.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}
  .tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .search,.sort{
    padding:8px 12px;border:1px solid var(--line);border-radius:9px;font-size:13px;
    background:var(--panel);color:var(--ink);outline:none;font-family:inherit;
  }
  .search{width:190px}
  .search:focus,.sort:focus{border-color:var(--brand)}
  .search::placeholder{color:var(--mute)}
  .switch{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--sub);cursor:pointer;user-select:none}
  .switch input{accent-color:var(--brand)}

  /* ---------- 网站卡片 ---------- */
  .grid{display:grid;gap:18px;padding-bottom:80px;grid-template-columns:repeat(auto-fill,minmax(312px,1fr))}
  .card{
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    display:flex;flex-direction:column;transition:.22s;position:relative;overflow:hidden;
  }
  /* ---- 网站截图位：图片放 images/ 目录，命名为「域名.png」即可自动显示 ---- */
  .thumb{
    position:relative;aspect-ratio:16/9;overflow:hidden;background:#0c0e14;flex:none;
  }
  .thumb:before{
    content:"";position:absolute;inset:0;
    background:
      linear-gradient(135deg,rgba(99,102,241,.16),rgba(34,211,238,.07)),
      repeating-linear-gradient(45deg,rgba(255,255,255,.022) 0 12px,transparent 12px 24px),
      #0c0e14;
  }
  .thumb:after{
    content:attr(data-t) "\A 未上传截图";
    position:absolute;inset:0;display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:2px;
    font-size:15px;font-weight:700;color:#5b6474;letter-spacing:-.01em;white-space:pre-line;text-align:center;
  }
  .thumb img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;
    transition:transform .35s ease;z-index:2;
  }
  .card:hover .thumb img{transform:scale(1.045)}
  .thumb .badge{
    position:absolute;right:10px;top:10px;z-index:3;
    background:rgba(10,12,18,.72);backdrop-filter:blur(8px);
  }
  .c-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
  .card:before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,var(--brand),var(--brand2),transparent);
    opacity:0;transition:.22s;
  }
  .card:hover{border-color:rgba(99,102,241,.5);transform:translateY(-4px);box-shadow:var(--shadow)}
  .card:hover:before{opacity:1}
  .card.sold{opacity:.42}
  .card.sold:hover{transform:none;box-shadow:none;border-color:var(--line)}
  .card.sold:hover:before{opacity:0}
  .c-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
  .c-name{font-size:18px;font-weight:700;letter-spacing:-.02em;word-break:break-all}
  .c-type{margin-top:7px;font-size:12.5px;font-weight:600;letter-spacing:.02em}
  /* 去掉中间参数区后，标题与价格之间留出呼吸空间 */
  .card .price{margin-top:auto;padding-top:16px}
  .badge{
    font-size:11px;padding:4px 10px;border-radius:20px;white-space:nowrap;font-weight:600;
    background:var(--panel2);color:var(--sub);border:1px solid var(--line);
  }
  .s-在售{background:rgba(16,185,129,.12);color:#34d399;border-color:rgba(16,185,129,.3)}
  .s-已预订{background:rgba(245,158,11,.12);color:#fbbf24;border-color:rgba(245,158,11,.3)}
  .s-已出售{background:var(--panel2);color:var(--mute);border-color:var(--line)}
  .metrics{
    display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:18px;
    padding:13px 6px;border-radius:10px;background:var(--panel2);
  }
  .m{text-align:center}
  .m b{display:block;font-size:15.5px;font-weight:700}
  .m span{font-size:11px;color:var(--mute)}
  .price{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 14px}
  .price em{font-style:normal;font-size:12px;color:var(--mute)}
  .price b{font-size:21px;font-weight:800;letter-spacing:-.02em;
    background:linear-gradient(135deg,var(--brand),var(--brand2));
    -webkit-background-clip:text;background-clip:text;color:transparent}

  /* ---------- 域名列表 ---------- */
  .list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--panel);margin-bottom:80px}
  .l-head,.l-row{
    display:grid;grid-template-columns:2.1fr 1.2fr .7fr .8fr 1fr .8fr auto;
    gap:14px;align-items:center;padding:14px 20px;
  }
  .l-head{background:var(--panel2);font-size:11.5px;color:var(--mute);letter-spacing:.06em;border-bottom:1px solid var(--line)}
  /* 文章列表：只保留 标题 / 分类 / 日期 / 操作 四列 */
  .list.is-post .l-head,.list.is-post .l-row{
    grid-template-columns:2.6fr 1fr .8fr auto;
  }
  /* 兜底：即使 JS 是旧版、仍然输出了这几列，也强制隐藏 */
  .list.is-post .l-reg,
  .list.is-post .l-price,
  .list.is-post .l-badge{display:none !important}
  .list.is-post .d-sub{
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .l-row{border-bottom:1px solid var(--line);transition:.16s;cursor:pointer}
  .l-row:last-child{border-bottom:none}
  .l-row:hover{background:var(--panel2)}
  .l-row.sold{opacity:.42}
  .l-row.sold:hover{background:transparent}
  .d-name{font-size:15.5px;font-weight:700;letter-spacing:-.01em;word-break:break-all;display:flex;align-items:center;gap:8px}
  .d-name i{width:6px;height:6px;border-radius:50%;flex:none}
  .d-thumb{width:52px;height:32px;border-radius:6px;object-fit:cover;object-position:top center;flex:none;border:1px solid var(--line)}
  .d-sub{font-size:11.5px;color:var(--mute);margin-top:2px;font-weight:400}
  .l-cat{font-size:13px;color:var(--sub)}
  .l-len,.l-reg{font-size:13px;color:var(--sub);font-variant-numeric:tabular-nums}
  .l-price{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
  .empty{padding:64px 0;text-align:center;color:var(--mute);font-size:14px}

  /* ---------- 文章（图文列表） ---------- */
  .posts{padding-bottom:80px;display:flex;flex-direction:column;gap:16px}
  .post{
    display:grid;grid-template-columns:1fr;align-items:stretch;
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    overflow:hidden;transition:.22s;cursor:pointer;
  }
  /* 只有填了 img 才恢复左图右文的双列布局 */
  .post.has-img{grid-template-columns:224px 1fr;gap:22px}
  .post.has-img .p-body{padding:20px 22px 20px 0}
  .post:hover{border-color:rgba(99,102,241,.5);transform:translateY(-3px);box-shadow:var(--shadow)}
  .p-img{
    position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--panel2);flex:none;
  }
  .p-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;transition:transform .35s}
  .post:hover .p-img img{transform:scale(1.05)}
  .p-body{padding:22px 24px;display:flex;flex-direction:column;justify-content:center}
  .p-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:9px}
  .p-tag{
    font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:20px;
    background:var(--brand-soft);color:var(--brand);border:1px solid transparent;
  }
  .p-date{font-size:12px;color:var(--mute)}
  .p-title{font-size:19px;font-weight:800;letter-spacing:-.02em;line-height:1.35}
  .p-excerpt{margin-top:8px;font-size:13.5px;color:var(--sub);line-height:1.7;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .p-more{margin-top:12px;font-size:13px;font-weight:600;color:var(--brand)}
  .post:hover .p-more span{transform:translateX(3px)}
  .p-more span{display:inline-block;transition:.2s}
  .p-full{
    font-size:14px;color:var(--sub);line-height:1.85;margin-top:16px;
    padding-top:16px;border-top:1px solid var(--line);
  }
  .p-full p{margin-bottom:12px}
  .p-full p:last-child{margin-bottom:0}
  @media (max-width:640px){
    .post.has-img{grid-template-columns:1fr;gap:0}
    .post.has-img .p-body{padding:18px 20px 20px}
  }


  /* ---------- 通用区块 ---------- */
  .section{padding:78px 0;border-top:1px solid var(--line);position:relative}
  .section:before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(700px 300px at 50% 0%, rgba(99,102,241,.10), transparent 72%);
  }
  .section .wrap{position:relative;z-index:2}
  .section h2{font-size:30px;font-weight:800;letter-spacing:-.03em}
  .lead{margin-top:10px;color:var(--sub);font-size:15px}
  .steps,.cards3{display:grid;gap:18px;margin-top:38px}
  .steps{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}
  .cards3{grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}
  .step,.box{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:.22s}
  .step:hover,.box:hover{border-color:rgba(99,102,241,.5);transform:translateY(-3px)}
  .step i{
    display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;
    border-radius:9px;font-style:normal;font-size:13px;font-weight:700;
    box-shadow:0 4px 14px rgba(99,102,241,.35);
  }
  .step h3{margin:14px 0 6px;font-size:15px;font-weight:700}
  .step p{font-size:13.5px;color:var(--sub)}
  .box h3{font-size:14.5px;font-weight:700;margin-bottom:5px}
  .box p{font-size:13px;color:var(--sub);margin-bottom:14px}
  .qr{
    width:136px;height:136px;background:var(--panel2);border:1px dashed #2c3240;border-radius:10px;
    display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--mute);
    text-align:center;line-height:1.5;overflow:hidden;
  }
  .qr img{width:100%;height:100%;object-fit:contain}
  .field{margin-bottom:10px}
  .field input,.field textarea,.field select{
    width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;
    font-size:13px;font-family:inherit;outline:none;background:var(--panel2);color:var(--ink);
  }
  .field input:focus,.field textarea:focus{border-color:var(--brand)}
  .field textarea{resize:vertical;min-height:76px}
  .note{font-size:12px;color:var(--mute);margin-top:9px}

  footer{border-top:1px solid var(--line);padding:30px 0;font-size:12.5px;color:var(--mute)}
  .foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

  /* ---------- 弹窗 ---------- */
  .mask{position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);z-index:100;
    display:none;align-items:center;justify-content:center;padding:24px}
  .mask.on{display:flex}
  .modal{
    background:var(--panel);border:1px solid var(--line);border-radius:18px;max-width:540px;width:100%;
    padding:0;max-height:86vh;overflow:hidden;position:relative;display:flex;flex-direction:column;
    box-shadow:0 30px 70px rgba(0,0,0,.6);
  }
  /* 内容区可滚动，按钮区固定在底部 */
  .m-scroll{padding:28px 28px 18px;overflow-y:auto;flex:1;min-height:0}
  .modal .row{
    display:flex;gap:10px;flex-wrap:wrap;
    padding:14px 28px 20px;border-top:1px solid var(--line);
    background:var(--panel);flex:none;
  }
  .modal .row .btn{flex:1 1 46%;min-width:120px;text-align:center}
  .m-more{font-size:12px;color:var(--mute);margin:-12px 0 18px}
  .modal .x{position:absolute;right:16px;top:14px;font-size:22px;color:var(--mute);cursor:pointer;
    line-height:1;background:none;border:none}
  .modal h3{font-size:22px;font-weight:800;letter-spacing:-.03em;padding-right:24px;
    background:linear-gradient(100deg,#fff,var(--brand2));
    -webkit-background-clip:text;background-clip:text;color:transparent}
  .m-img{
    width:100%;max-height:210px;border-radius:12px;object-fit:cover;object-position:top center;
    border:1px solid var(--line);margin-bottom:18px;background:var(--panel2);display:block;
  }
  .modal .desc{margin:10px 0 16px;font-size:13.5px;color:var(--sub);line-height:1.65}
  .kv{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}
  .kv div{background:var(--panel2);border-radius:10px;padding:11px 13px}
  .kv span{font-size:11px;color:var(--mute);display:block}
  .kv b{font-size:14.5px;font-weight:700}
  .hl{list-style:none;font-size:13.5px;color:var(--sub);margin-bottom:20px}
  .hl li{padding-left:16px;position:relative;margin-bottom:7px}
  .hl li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;
    background:linear-gradient(135deg,var(--brand),var(--brand2))}
  .modal .row{display:flex;gap:10px;margin-top:18px}
  .modal .row .btn{flex:1;text-align:center}

  @media (max-width:900px){
    .l-head,.l-row{grid-template-columns:1.8fr 1fr .9fr auto;gap:10px}
    .l-len,.l-reg{display:none}
    /* 文章列表三列：标题 / 日期 / 操作（日期保留，有价值） */
    .list.is-post .l-head,.list.is-post .l-row{grid-template-columns:2fr 1fr auto}
    .list.is-post .l-len{display:block}
    .list.is-post .l-reg,
    .list.is-post .l-price,
    .list.is-post .l-badge{display:none !important}
  }
  @media (max-width:640px){
    /* 分类导航是主入口，移动端不隐藏，改为可横向滑动的一行 */
    .nav{height:auto;padding:12px 0;flex-wrap:wrap;row-gap:10px}
    .nav-links{
      order:3;width:100%;gap:18px;font-size:13.5px;
      overflow-x:auto;white-space:nowrap;padding-bottom:2px;
      -webkit-overflow-scrolling:touch;scrollbar-width:none;
    }
    .nav-links::-webkit-scrollbar{display:none}
    .nav-links a{flex:none}
    .hero{padding:60px 0 48px}
    .stats{gap:30px}
    .search{width:150px}
    .l-head{display:none}
    .l-row{grid-template-columns:1fr auto;gap:8px}
    .l-cat{grid-column:1/-1;font-size:12px}
    .l-badge{grid-column:1/-1}
    .d-actions{grid-column:1/-1}
    .d-actions .btn{width:100%}
  }

  /* ---------- 文章页 ---------- */
  .article{padding:44px 0 72px;max-width:860px}
  .art-head{padding-bottom:22px;border-bottom:1px solid var(--line);margin-bottom:26px}
  .art-title{font-size:32px;font-weight:800;letter-spacing:-.03em;line-height:1.3;margin-top:10px}
  .art-assets{
    display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    padding:20px;margin-bottom:28px;
  }
  .art-shot{width:260px;flex:none}
  .art-shot img{width:100%;border-radius:10px;border:1px solid var(--line);display:block}
  .art-kv{flex:1;min-width:240px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
  .art-kv div{background:var(--panel2);border-radius:10px;padding:11px 13px}
  .art-kv span{font-size:11px;color:var(--mute);display:block}
  .art-kv b{font-size:15px;font-weight:700}
  .art-kv .hl-price{
    background:linear-gradient(135deg,var(--brand),var(--brand2));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .art-content{font-size:15.5px;line-height:1.9;color:var(--sub)}
  .art-content p{margin-bottom:16px}
  .art-content h2,.art-content h3{color:var(--ink);margin:26px 0 12px;font-weight:700}
  .art-content h2{font-size:22px}
  .art-content h3{font-size:18px}
  .art-content img{max-width:100%;border-radius:10px;margin:14px 0}
  .art-content a{color:var(--brand)}
  .art-content ul,.art-content ol{padding-left:22px;margin-bottom:16px}
  .art-content li{margin-bottom:6px}
  .art-content blockquote{
    border-left:3px solid var(--brand);padding:8px 16px;margin:16px 0;
    background:var(--panel2);border-radius:0 8px 8px 0;
  }
  .art-cta{
    margin-top:40px;padding:26px;text-align:center;
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  }
  .art-cta-txt{font-size:16px;font-weight:700;margin-bottom:16px}
  .art-cta-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
  @media (max-width:640px){
    .art-title{font-size:25px}
    .art-shot{width:100%}
    .art-kv{grid-template-columns:1fr}
  }

  /* ---------- 列表页 / 分页 / 404 ---------- */
  .listpage{padding:40px 0 72px}
  .lp-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:26px}
  .lp-head h1{font-size:26px;font-weight:800;letter-spacing:-.02em}
  .lp-back{font-size:13px;color:var(--mute)}
  .lp-back:hover{color:var(--brand)}
  .pagebar{display:flex;gap:10px;justify-content:center;margin-top:32px}
  .pb{
    padding:8px 18px;border-radius:9px;font-size:14px;
    background:var(--panel);border:1px solid var(--line);color:var(--sub);transition:.18s;
  }
  .pb:hover{border-color:var(--brand);color:var(--brand)}

  /* ---------- 分页：标题栏 + 页码导航 ---------- */
  .ah-pagebar{
    margin-top:36px;padding:18px 20px 16px;
    border:1px solid var(--line,#232733);border-radius:14px;
    background:var(--panel,#12141c);
  }
  .pb-info{
    display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;
    font-size:13.5px;color:var(--mute,#8b93a7);
    padding-bottom:14px;margin-bottom:14px;
    border-bottom:1px solid var(--line,#232733);
  }
  .pb-info b{color:var(--text,#e8eaf2);font-weight:700;font-size:14.5px}
  .pb-cur b{color:var(--brand,#6366f1)}
  .pb-sep{opacity:.5}

  .pb-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
  .pb-nums{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

  .ah-pagebar .pb{
    display:inline-flex;align-items:center;gap:5px;
    min-width:38px;height:38px;padding:0 12px;
    justify-content:center;text-decoration:none;
    background:var(--panel2,#0f1117);
    border:1px solid var(--line,#232733);
    color:var(--sub,#c8cee0);
    border-radius:9px;font-size:14px;font-weight:600;
    transition:.18s;
  }
  .ah-pagebar a.pb:hover{
    border-color:var(--brand,#6366f1);
    color:var(--brand,#6366f1);
    transform:translateY(-1px);
  }
  .ah-pagebar .pb-now{
    background:linear-gradient(135deg,var(--brand,#6366f1),var(--brand2,#22d3ee));
    color:#fff;border-color:transparent;
    box-shadow:0 4px 12px rgba(99,102,241,.3);
  }
  .pb-arrow{font-size:16px;line-height:1;font-weight:400}
  .pb-gap{padding:0 4px;color:var(--mute,#8b93a7);user-select:none}

  /* 窄屏：步长按钮只留箭头 */
  @media (max-width:560px){
    .ah-pagebar{padding:14px 12px 12px}
    .ah-pagebar .pb{min-width:34px;height:34px;padding:0 9px;font-size:13px}
    .pb-step .pb-txt{display:none}
    .pb-step{min-width:34px !important}
  }

  [data-theme="light"] .ah-pagebar{background:#fff;border-color:#e3e6ea}
  [data-theme="light"] .pb-info{border-color:#eef1f5;color:#64748b}
  [data-theme="light"] .pb-info b{color:#1e293b}
  [data-theme="light"] .ah-pagebar .pb{background:#f8fafc;border-color:#e3e6ea;color:#475569}
  .notfound{padding:110px 0;text-align:center}
  .nf-code{
    font-size:78px;font-weight:800;letter-spacing:-.04em;
    background:linear-gradient(135deg,var(--brand),var(--brand2));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .nf-txt{color:var(--sub);margin:8px 0 26px}

  /* ---------- 留言板 ---------- */
  .guestbook{padding:40px 0 80px;max-width:720px}
  .gb-head{margin-bottom:26px}
  .gb-head h1{font-size:28px;font-weight:800;letter-spacing:-.03em}
  .gb-sub{margin-top:8px;font-size:14px;color:var(--sub)}
  .gb-tip{
    padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:14px;
    background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid rgba(245,158,11,.3);
  }
  [data-theme="light"] .gb-tip{background:#fff7ed;color:#b45309;border-color:#fed7aa}
  .gb-tip.ok{background:rgba(16,185,129,.12);color:#34d399;border-color:rgba(16,185,129,.3)}
  [data-theme="light"] .gb-tip.ok{background:#e7f8ef;color:#047857;border-color:#a7e8c8}
  .gb-form{
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;
  }
  .gb-form .field{margin-bottom:16px}
  .gb-form label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink)}
  .gb-form .req{color:#f87171}
  .gb-form input,.gb-form textarea{
    width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;
    font-size:14px;font-family:inherit;outline:none;background:var(--panel2);color:var(--ink);
  }
  .gb-form input:focus,.gb-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
  .gb-form textarea{min-height:130px;resize:vertical}
  .gb-form .btn{margin-top:4px}
  .gb-form .note{margin-top:12px}
  .gb-content{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}

  /* ---------- 详情页增强 ---------- */
  .art-price{
    margin-top:10px;font-size:26px;font-weight:800;letter-spacing:-.02em;
    background:linear-gradient(135deg,var(--brand),var(--brand2));
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .art-features{
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    padding:22px;margin-bottom:26px;
  }
  .art-features h3{font-size:16px;font-weight:700;margin-bottom:12px}
  .art-features ul{list-style:none}
  .art-features li{
    position:relative;padding-left:18px;margin-bottom:7px;font-size:14px;color:var(--sub);line-height:1.7;
  }
  .art-features li:before{
    content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;
    background:linear-gradient(135deg,var(--brand),var(--brand2));
  }

  /* ---------- 首页：四个分类入口 ---------- */
  .entries{
    display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:8px 0 44px;
  }
  .entry{
    display:flex;align-items:center;gap:13px;padding:18px 16px;
    background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
    transition:.22s;position:relative;overflow:hidden;
  }
  .entry:hover{border-color:rgba(99,102,241,.5);transform:translateY(-3px);box-shadow:var(--shadow)}
  .entry:hover .e-arrow{transform:translateX(4px);color:var(--brand)}
  .e-icon{
    width:38px;height:38px;border-radius:10px;flex:none;
    background:linear-gradient(135deg,var(--brand),var(--brand2));
    color:#fff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;
  }
  .e-body{flex:1;min-width:0}
  .e-name{font-size:15px;font-weight:700;letter-spacing:-.01em}
  .e-count{font-size:12px;color:var(--mute);margin-top:2px}
  .e-count b{color:var(--ink);font-size:13px}
  .e-arrow{font-size:16px;color:var(--mute);transition:.2s;flex:none}
  @media (max-width:860px){ .entries{grid-template-columns:repeat(2,1fr)} }
  @media (max-width:480px){ .entries{grid-template-columns:1fr} }

  .sec-head{display:flex;align-items:baseline;gap:10px;margin-bottom:16px}
  .sec-head h2{font-size:20px;font-weight:800;letter-spacing:-.02em}
  .sec-sub{font-size:12.5px;color:var(--mute)}

  /* ---------- 分类页 ---------- */
  .catpage{padding:36px 0 72px}
  .cp-head{
    display:flex;justify-content:space-between;align-items:flex-end;gap:14px;
    padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--line);
  }
  .cp-head h1{font-size:27px;font-weight:800;letter-spacing:-.03em}
  .cp-sub{margin-top:6px;font-size:13.5px;color:var(--sub)}
  .cp-back{font-size:13px;color:var(--mute);flex:none}
  .cp-back:hover{color:var(--brand)}

  /* 导航当前项高亮 */
  /* ⚠ 原来 .on 用渐变文字 + color:transparent，
     在浅色/渐变背景上几乎看不见（实测对比度仅 3.16，低于 AA 的 4.5）。
     改成实色文字 + 浅色胶囊底 + 下方指示条，任何背景都清楚。 */
  .nav-links a.on{
    color:var(--nav-on, #4338ca);
    font-weight:700;
    background:var(--nav-on-bg, rgba(99,102,241,.12));
    padding:5px 12px;
    border-radius:999px;
    position:relative;
  }
  .nav-links a.on:after{
    content:"";position:absolute;left:12px;right:12px;bottom:-6px;height:2px;border-radius:2px;
    background:linear-gradient(135deg,var(--brand),var(--brand2));
  }
  /* 深色模式：胶囊底色换成更亮的靛蓝，文字用亮紫，保证在黑底上也清楚 */
  [data-theme="dark"] .nav-links a.on,
  body:not([data-theme="light"]) .nav-links a.on{
    --nav-on:#a5b4fc;
    --nav-on-bg:rgba(99,102,241,.20);
  }

  /* 导航整体：加一层半透明底 + 文字阴影，压住背后的渐变/图片 */
  .nav-links{
    background:var(--nav-bg, rgba(255,255,255,.72));
    padding:5px 8px;
    border-radius:999px;
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }
  .nav-links a{
    color:var(--nav-ink, #374151);
    font-weight:500;
    text-shadow:0 1px 2px rgba(255,255,255,.6);
  }
  .nav-links a:hover{color:var(--nav-on, #4338ca)}
  /* 深色模式：底变深、字变亮、去掉白色文字阴影（会发虚） */
  [data-theme="dark"] .nav-links,
  body:not([data-theme="light"]) .nav-links{
    --nav-bg:rgba(15,17,23,.72);
    --nav-ink:#e5e7eb;
  }
  [data-theme="dark"] .nav-links a,
  body:not([data-theme="light"]) .nav-links a{
    text-shadow:0 1px 2px rgba(0,0,0,.5);
  }
  [data-theme="dark"] .nav-links a:hover,
  body:not([data-theme="light"]) .nav-links a:hover{color:#fff}

  /* 未匹配到分类的导航项：淡化显示，提示去配置 */
  .nav-links a.dim{opacity:.45}
  .nav-links a.dim:hover{opacity:.8}

  /* ---------- 页脚扩展：安全认证 + 友情链接 ---------- */
  .site-foot-extra{
    border-top:1px solid var(--line);
    background:var(--panel2);
    padding:34px 0 30px;
  }
  .fe-title{
    font-size:12px;font-weight:700;letter-spacing:.14em;
    color:var(--mute);text-transform:uppercase;margin-bottom:16px;
    display:flex;align-items:center;gap:10px;
  }
  .fe-title::after{
    content:"";flex:1;height:1px;background:var(--line);
  }

  /* 安全认证徽章 */
  /* 横向一排：5 列；屏幕变窄自动换行，但始终横向排列 */
  .badge-row{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:14px;
    width:100%;
  }
  @media (max-width:1000px){
    .badge-row{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  }
  @media (max-width:560px){
    .badge-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  }

  .badge-item{
    display:flex !important;flex-direction:row !important;
    align-items:center;gap:10px;
    padding:13px 14px;border:1px solid var(--line);border-radius:12px;
    background:var(--panel);transition:.22s;
    min-width:0;
  }
  .badge-item > div{min-width:0}
  .badge-item b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* 带链接的徽章（用 a 标签渲染） */
  a.badge-item{text-decoration:none;color:inherit}
  a.badge-item:hover{border-color:var(--brand)}
  .badge-item img{
    width:34px;height:34px;flex:none;display:block;
    object-fit:contain;border-radius:6px;
  }
  .badge-item:hover{
    border-color:var(--brand);
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,0,0,.18);
  }
  /* 内联 SVG（不再用 <img>，避免服务器屏蔽 .svg 导致图标加载失败） */
  .bi-icon{
    width:34px;height:34px;flex:none;display:flex;
    align-items:center;justify-content:center;border-radius:8px;
  }
  .bi-icon svg{width:34px;height:34px;display:block}
  .badge-item img{
    width:34px;height:34px;flex:none;display:block;border-radius:8px;
  }
  .badge-item b{
    display:block;font-size:13.5px;font-weight:700;color:var(--text);
    letter-spacing:-.01em;
  }
  .badge-item span{
    display:block;font-size:11.5px;color:var(--mute);margin-top:2px;
    line-height:1.4;
  }

  /* 友情链接 */
  .friend-links{ margin-top:26px; }
  .link-row{ display:flex;flex-wrap:wrap;gap:10px; }
  .link-row a{
    display:inline-block;padding:8px 15px;border-radius:999px;
    border:1px solid var(--line);background:var(--panel);
    font-size:13px;color:var(--sub);text-decoration:none;transition:.2s;
  }
  .link-row a:hover{
    border-color:var(--brand);color:var(--brand);
    background:var(--panel2);transform:translateY(-1px);
  }

  [data-theme="light"] .site-foot-extra{background:#f6f8fa}
  [data-theme="light"] .badge-item,
  [data-theme="light"] .link-row a{background:#fff;border-color:#e3e6ea}
  [data-theme="light"] .badge-item b{color:#1e293b}
  [data-theme="light"] .badge-item span{color:#94a3b8}
  [data-theme="light"] .link-row a{color:#475569}
  [data-theme="light"] .link-row a:hover{background:#eef2ff;border-color:#6366f1;color:#4338ca}

  /* ---------- 站内支付弹窗（不跳走） ---------- */
  .pay-mask{
    position:fixed;inset:0;z-index:120;
    background:rgba(0,0,0,.66);backdrop-filter:blur(4px);
    display:flex;align-items:center;justify-content:center;padding:20px;
  }
  .pay-modal{
    width:100%;max-width:440px;max-height:92vh;
    background:var(--panel,#12141c);border:1px solid var(--line,#232733);
    border-radius:16px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.55);
    display:flex;flex-direction:column;
  }
  .pay-box{display:flex;flex-direction:column;max-height:92vh}
  .pay-head{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 18px;border-bottom:1px solid var(--line,#232733);
  }
  .pay-head b{font-size:15px;color:var(--text,#e8eaf2)}
  .pay-x{
    border:none;background:transparent;color:var(--mute,#8b93a7);
    font-size:22px;line-height:1;cursor:pointer;padding:0 4px;
  }
  .pay-x:hover{color:var(--text,#e8eaf2)}

  .pay-goods{
    padding:14px 18px;background:var(--panel2,#0f1117);
    border-bottom:1px solid var(--line,#232733);
  }
  .pay-goods span{display:block;font-size:11.5px;color:var(--mute,#8b93a7);margin-bottom:3px}
  .pay-goods b{display:block;font-size:14px;color:var(--text,#e8eaf2);font-weight:600;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pay-goods em{
    display:inline-block;margin-top:6px;font-style:normal;font-size:17px;font-weight:800;
    color:#f59e0b;
  }

  .pay-ways{padding:16px 18px;display:flex;flex-direction:column;gap:10px}
  .pay-way{
    display:flex;align-items:center;gap:12px;width:100%;
    padding:14px 16px;border-radius:11px;cursor:pointer;
    border:1px solid var(--line,#232733);background:var(--panel2,#0f1117);
    color:var(--text,#e8eaf2);font-size:14.5px;font-weight:600;
    transition:.2s;text-align:left;
  }
  .pay-way:hover{border-color:#f59e0b;transform:translateY(-1px)}
  .pay-way i{width:22px;height:22px;border-radius:6px;flex:none;display:block}

  .pay-tip{padding:0 18px 18px;font-size:12px;color:var(--mute,#8b93a7);text-align:center}
  .pay-tip strong{color:#34d399}

  .pay-frame{flex:1;min-height:380px;background:#fff;position:relative}
  .pay-frame iframe{display:block;width:100%;height:100%;min-height:380px;border:0}

  /* ---------- 站内二维码支付 ---------- */
  .pay-loading{
    padding:42px 20px;text-align:center;font-size:14px;
    color:var(--mute,#8b93a7);
  }
  .pay-qr{
    display:flex;flex-direction:column;align-items:center;
    padding:22px 20px 8px;text-align:center;
  }
  .pay-qr .qr-box{
    background:#fff;padding:12px;border-radius:14px;
    box-shadow:0 8px 26px rgba(0,0,0,.16);line-height:0;
  }
  .pay-qr .qr-box canvas{display:block;border-radius:4px}
  .pay-qr .qr-tip{
    margin-top:16px;font-size:14px;line-height:1.9;
    color:var(--ink,#e8ebf2);
  }
  .pay-qr .qr-tip b{
    color:#ff6b35;font-weight:700;padding:0 2px;
  }
  .pay-qr .qr-tip em{
    display:block;margin-top:4px;font-style:normal;
    font-size:12.5px;color:var(--mute,#8b93a7);
  }
  .pay-err{
    padding:34px 24px;text-align:center;
  }
  .pay-err b{display:block;font-size:16px;color:#f87171;margin-bottom:10px}
  .pay-err p{
    margin:0 0 20px;font-size:14px;line-height:1.9;color:var(--mute,#8b93a7);
  }
  .pay-err .pay-back{margin:0 auto}

  .pay-foot{
    display:flex;align-items:center;gap:10px;flex-wrap:wrap;
    padding:11px 18px;border-top:1px solid var(--line,#232733);
  }
  .pay-state{font-size:13px;color:var(--mute,#8b93a7);flex:1;min-width:110px}
  .pay-state.ok{color:#34d399;font-weight:700}
  .pay-open{
    font-size:12.5px;color:var(--sub,#c8cee0);text-decoration:none;
    border:1px solid var(--line,#232733);padding:6px 12px;border-radius:8px;
  }
  .pay-open:hover{border-color:#f59e0b;color:#f59e0b}
  .pay-back{
    border:1px solid var(--line,#232733);background:transparent;
    color:var(--sub,#c8cee0);font-size:12.5px;padding:6px 12px;
    border-radius:8px;cursor:pointer;
  }
  .pay-back:hover{border-color:#f59e0b;color:#f59e0b}

  @media (max-width:520px){
    .pay-mask{padding:0;align-items:stretch}
    .pay-modal{max-width:100%;max-height:100vh;border-radius:0}
    .pay-frame{min-height:52vh}
    .pay-qr{padding:16px 14px 6px}
    .pay-qr .qr-box{padding:9px}
  }

  [data-theme="light"] .pay-modal{background:#fff;border-color:#e3e6ea}
  [data-theme="light"] .pay-head{border-color:#eef1f5}
  [data-theme="light"] .pay-head b{color:#1e293b}
  [data-theme="light"] .pay-goods{background:#f8fafc;border-color:#eef1f5}
  [data-theme="light"] .pay-goods b{color:#1e293b}
  [data-theme="light"] .pay-way{background:#f8fafc;border-color:#e3e6ea;color:#1e293b}
  [data-theme="light"] .pay-foot{border-color:#eef1f5}
  [data-theme="light"] .pay-open,[data-theme="light"] .pay-back{border-color:#e3e6ea;color:#475569}

  /* ---------- 首页广告位（统一尺寸） ---------- */
  .ad-wrap{margin:0 0 34px}
  .ad-grid{
    display:grid;
    grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));
    gap:14px;
  }
  .ad-item{
    position:relative;display:block;overflow:hidden;
    border-radius:var(--radius,14px);
    border:1px solid var(--line,#232733);
    background:var(--panel2,#0f1117);
    /* 统一大小的关键：固定宽高比，任何尺寸的图都裁成一样 */
    aspect-ratio:16/9;
    transition:.24s;
  }
  .ad-item img{
    width:100%;height:100%;display:block;
    /* object-fit 由后台选 cover（裁剪填满）或 contain（完整显示） */
    transition:transform .35s ease;
  }
  a.ad-item:hover{
    border-color:var(--brand,#6366f1);
    box-shadow:0 10px 26px rgba(0,0,0,.34);
  }
  a.ad-item:hover img{transform:scale(1.04)}

  /* 图片挂了：显示占位而不是空白破图 */
  .ad-broken{
    display:flex;align-items:center;justify-content:center;
    color:var(--mute,#8b93a7);font-size:12px;
  }
  .ad-broken img{display:none}
  .ad-broken::after{content:"图片未加载"}

  /* 标题（后台填了才显示） */
  .ad-cap{
    position:absolute;left:0;right:0;bottom:0;
    padding:16px 14px 11px;font-size:13px;font-weight:600;color:#fff;
    background:linear-gradient(transparent,rgba(0,0,0,.68));
    text-shadow:0 1px 3px rgba(0,0,0,.5);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }

  /* 响应式：窄屏自动减少列数，但仍保持同一宽高比 → 大小一致 */
  @media (max-width:1000px){ .ad-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
  @media (max-width:560px){
    .ad-grid{grid-template-columns:1fr;gap:10px}
    .ad-wrap{margin-bottom:26px}
  }

  [data-theme="light"] .ad-item{background:#f1f5f9;border-color:#e3e6ea}
  [data-theme="light"] a.ad-item:hover{border-color:var(--brand,#6366f1)}

/* ==========================================================
   全站搜索（顶栏 + 首页大搜索 + 搜索结果页）
   ========================================================== */
.ah-search{
  position:relative;display:flex;align-items:center;gap:0;
  background:var(--panel2);border:1px solid var(--line);
  border-radius:10px;padding:0;transition:.2s;overflow:hidden;
}
.ah-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(99,102,241,.15)}
.ah-search .ah-s-icon{
  width:16px;height:16px;flex:none;margin:0 0 0 11px;color:var(--mute);pointer-events:none;
}
.ah-search input{
  flex:1;min-width:0;background:transparent;border:0;outline:none;
  color:var(--ink);font-size:14px;padding:9px 10px;font-family:inherit;
}
.ah-search input::placeholder{color:var(--mute);opacity:.85}
.ah-search button{
  flex:none;border:0;cursor:pointer;font-family:inherit;
  padding:9px 16px;font-size:14px;font-weight:600;color:#fff;
  background:linear-gradient(135deg,var(--brand),#22d3ee);
  transition:.2s;
}
.ah-search button:hover{filter:brightness(1.08)}

/* 顶栏搜索：窄一点 */
header .ah-search{width:230px}
header .ah-search button{padding:9px 13px;font-size:13px}

/* 首页大搜索 */
.ah-search.big{
  width:100%;max-width:620px;margin-top:26px;border-radius:14px;
  background:var(--panel2);border-color:var(--line);
}
.ah-search.big .ah-s-icon{width:19px;height:19px;margin-left:17px}
.ah-search.big input{padding:15px 12px;font-size:16px}
.ah-search.big button{padding:15px 30px;font-size:15px;border-radius:0 13px 13px 0}

/* 热门搜索词 */
.ah-hot{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin-top:16px;max-width:620px;
}
.ah-hot-lb{font-size:13px;color:var(--mute);margin-right:2px}
.ah-hot-w{
  font-size:13px;text-decoration:none;padding:5px 13px;border-radius:999px;
  color:var(--sub);background:var(--panel2);border:1px solid var(--line);transition:.2s;
}
.ah-hot-w:hover{color:#fff;background:linear-gradient(135deg,var(--brand),#22d3ee);border-color:transparent}

/* 搜索结果页：重新搜索框 */
.ah-search-again{margin:0 0 22px}

/* 无结果 */
.ah-noresult{
  text-align:center;padding:56px 24px;margin:8px 0 30px;
  background:var(--panel2);border:1px solid var(--line);border-radius:16px;
}
.ah-noresult .nr-icon{font-size:44px;line-height:1;margin-bottom:14px;opacity:.75}
.ah-noresult h3{margin:0 0 10px;font-size:19px;color:var(--ink)}
.ah-noresult p{margin:0 auto 22px;max-width:30em;font-size:15px;line-height:1.9;color:var(--mute)}
.ah-noresult .nr-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ah-noresult .nr-btns .btn{padding:11px 26px}

/* 响应式 */
@media (max-width:1100px){ header .ah-search{width:180px} }
@media (max-width:900px){
  header .ah-search{width:150px}
  header .ah-search button{display:none}   /* 窄屏隐藏按钮，回车即可搜 */
}
@media (max-width:700px){
  header .ah-search{display:none}          /* 顶栏放不下，用首页大搜索 */
  .ah-search.big{margin-top:20px}
  .ah-search.big input{font-size:15px}
}
@media (max-width:560px){
  .ah-search.big .ah-s-icon{display:none}
  .ah-search.big input{padding:13px 14px}
  .ah-search.big button{padding:13px 20px;font-size:14px}
  .ah-noresult{padding:38px 16px}
}
/* ===== 导航文字清晰 + 完全对齐修复 ===== */
.nav-links{
  display: flex;
  align-items: center;        /* 强制所有项垂直居中对齐 */
  background: rgba(255,255,255,.72);
  padding: 6px 10px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.nav-links a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;               /* 统一所有菜单高度 */
  padding: 0 14px;            /* 统一左右间距 */
  box-sizing: border-box;
  color: #374151;
  font-weight: 500;
  font-size: 15px;
  text-shadow: 0 1px 2px rgba(255,255,255,.6);
  border-radius: 999px;
  line-height: 1;             /* 消除文字行高带来的偏移 */
}

.nav-links a:hover{
  color: #4338ca;
}

/* 当前页高亮：统一尺寸，只加浅底和实色 */
.nav-links a.on{
  color: #4338ca;
  font-weight: 700;
  background: rgba(99,102,241,.12);
  /* 移除额外 padding，高度由通用规则控制，确保整齐 */
}

/* 指示条：绝对定位，不占用文档流，不影响对齐 */
.nav-links a.on{
  position: relative;
}
.nav-links a.on::after{
  content: "";
  position: absolute;
  bottom: 2px;                /* 贴在胶囊内部底部 */
  left: 20%;
  right: 20%;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(135deg,#6366f1,#22d3ee);
}

/* 深色模式对齐逻辑一致，仅换色 */
[data-theme="dark"] .nav-links{
  background: rgba(15,17,23,.72);
}
[data-theme="dark"] .nav-links a{
  color: #e5e7eb;
  text-shadow: 0 1px 2px rgba(0,0,0,.5);
}
[data-theme="dark"] .nav-links a:hover{
  color: #fff;
}
[data-theme="dark"] .nav-links a.on{
  color: #a5b4fc;
  background: rgba(99,102,241,.20);
}

/* 移动端兜底：防止拥挤 */
@media (max-width: 768px) {
  .nav-links a { padding: 0 10px; font-size: 14px; }
}
/* ===== 头部强制一行 + 间距收紧 ===== */
header .wrap.nav{
  flex-wrap: nowrap;          /* 禁止换行 */
  align-items: center;
  gap: 12px;                  /* 整体间距（原 18px → 12px） */
}
header .logo{
  flex: 0 0 auto;
  margin-right: 4px;
}

header nav.nav-links{
  flex: 1 1 auto;
  min-width: 0;               /* ★ 关键：允许收缩，否则会把右侧挤下去 */
  gap: 6px;                   /* 菜单项间距（原 28px → 6px） */
  padding: 5px 8px;
  justify-content: flex-start;
}
header nav.nav-links a{
  height: 34px;
  padding: 0 10px;            /* 左右内边距收紧 */
  font-size: 14px;
}

/* 右侧搜索 + 按钮区：不许被压缩 */
header .wrap.nav > div:last-child{
  flex: 0 0 auto;
  gap: 8px;
}
header .ah-search input{ width: 130px; }
header .ah-search button{ padding: 8px 12px; }
header .ah-search .ah-s-icon{ margin-left: 8px; }

/* 窄屏逐级收缩，始终保住一行 */
@media (max-width:1200px){
  header nav.nav-links a{ padding:0 8px; font-size:13.5px; }
  header .ah-search input{ width:110px; }
}
@media (max-width:1000px){
  header nav.nav-links{ gap:2px; }
  header nav.nav-links a{ padding:0 6px; font-size:13px; }
  header .ah-search input{ width:90px; }
}
@media (max-width:860px){
  header .ah-search button{ display:none; }
}
@media (max-width:700px){
  header nav.nav-links{ display:none; }   /* 极小屏才收起菜单 */
}