/* ==========================================================================
   资源智库 ZYKU · 站点样式（无框架，纯手写）
   ========================================================================== */
:root{
  --brand:#3b5bff; --brand-2:#00c2ff; --brand-ink:#1b2a6b;
  --gold:#f6b73c; --gold-2:#ffd98a; --gold-ink:#7a4a00;
  --bg:#f5f7fb; --bg-soft:#eef2f9; --card:#ffffff; --card-2:#fbfcff;
  --ink:#101828; --ink-2:#475467; --ink-3:#8a94a6; --line:#e6eaf2;
  --ok:#12b76a; --warn:#f79009; --danger:#f04438;
  --shadow-s:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.06);
  --shadow-m:0 6px 16px -6px rgba(16,24,40,.12),0 2px 8px -2px rgba(16,24,40,.06);
  --shadow-l:0 24px 48px -24px rgba(16,24,40,.28),0 8px 16px -8px rgba(16,24,40,.10);
  --r-s:10px; --r-m:14px; --r-l:20px; --r-xl:28px;
  --head-h:66px; --maxw:1240px;
  --font:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei UI","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
html[data-theme="dark"]{
  --bg:#0b1120; --bg-soft:#0f172a; --card:#121a2b; --card-2:#16203453;
  --ink:#e8eefc; --ink-2:#a7b3c9; --ink-3:#76839a; --line:#233047;
  --shadow-s:0 1px 2px rgba(0,0,0,.4); --shadow-m:0 8px 20px -8px rgba(0,0,0,.6);
  --shadow-l:0 30px 60px -30px rgba(0,0,0,.8);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);
  font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit}
::selection{background:rgba(59,91,255,.18)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------------- 顶部公告 ---------------- */
.topbar{
  background:linear-gradient(90deg,#111a2e,#1d2b52 45%,#0e1a33);
  color:#cfd8ee;font-size:12.5px;letter-spacing:.2px;
}
.topbar .wrap{display:flex;align-items:center;gap:14px;height:34px;overflow:hidden}
.topbar b{color:var(--gold-2);font-weight:600}
.topbar .ticker{display:flex;gap:46px;white-space:nowrap;animation:tick 26s linear infinite}
.topbar .right{margin-left:auto;display:flex;gap:16px;flex:none}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------------- 头部 ---------------- */
.header{
  position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--card) 86%,transparent);
  backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);
}
.header .wrap{display:flex;align-items:center;gap:22px;height:var(--head-h)}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:.3px;flex:none}
.logo .mark{
  width:34px;height:34px;border-radius:11px;display:grid;place-items:center;color:#fff;font-size:16px;
  background:linear-gradient(135deg,var(--brand),#7b5bff 55%,var(--brand-2));
  box-shadow:0 6px 16px -6px rgba(59,91,255,.9);
}
.logo small{display:block;font-size:10px;font-weight:600;color:var(--ink-3);letter-spacing:2.4px;margin-top:-3px}
.nav{display:flex;gap:4px;flex:none}
.nav a{padding:8px 12px;border-radius:9px;font-size:14.5px;color:var(--ink-2);font-weight:500;transition:.18s}
.nav a:hover{background:var(--bg-soft);color:var(--ink)}
.nav a.on{color:var(--brand);background:rgba(59,91,255,.09);font-weight:600}
.search-s{margin-left:auto;position:relative;flex:1;max-width:340px}
.search-s input{
  width:100%;height:38px;border-radius:11px;border:1px solid var(--line);background:var(--bg-soft);
  padding:0 38px 0 38px;font-size:13.5px;color:var(--ink);outline:none;transition:.2s;
}
.search-s input:focus{border-color:var(--brand);background:var(--card);box-shadow:0 0 0 4px rgba(59,91,255,.10)}
.search-s .ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);opacity:.5;font-size:14px}
.search-s kbd{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);font:inherit;font-size:11px;
  color:var(--ink-3);border:1px solid var(--line);background:var(--card);border-radius:5px;padding:1px 5px;
}
.h-actions{display:flex;align-items:center;gap:10px;flex:none}
.icon-btn{
  width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--card);
  color:var(--ink-2);display:grid;place-items:center;cursor:pointer;font-size:15px;transition:.18s;
}
.icon-btn:hover{color:var(--brand);border-color:rgba(59,91,255,.4)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 16px;
  border-radius:11px;border:0;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;white-space:nowrap;
}
.btn-vip{
  background:linear-gradient(135deg,#ffcf6b,var(--gold) 45%,#f2932f);color:#4a2a00;
  box-shadow:0 8px 18px -10px rgba(242,147,47,.95),inset 0 1px 0 rgba(255,255,255,.55);
  position:relative;overflow:hidden;
}
.btn-vip:hover{transform:translateY(-1px);box-shadow:0 12px 22px -10px rgba(242,147,47,1)}
.btn-vip::after{
  content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.65),transparent 70%);
  transform:translateX(-120%);animation:shine 4.5s infinite;
}
@keyframes shine{0%,72%{transform:translateX(-120%)}88%,100%{transform:translateX(120%)}}
.btn-primary{background:linear-gradient(135deg,var(--brand),#5b46ff);color:#fff;box-shadow:0 8px 18px -10px rgba(59,91,255,.9)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{background:var(--bg-soft);color:var(--ink-2);border:1px solid var(--line)}
.btn-ghost:hover{color:var(--ink);border-color:var(--ink-3)}
.btn-lg{height:46px;padding:0 24px;font-size:15px;border-radius:13px}
.link-quiet{color:var(--ink-2);font-size:13.5px}
.link-quiet:hover{color:var(--brand)}

/* ---------------- Hero ---------------- */
.hero{position:relative;overflow:hidden;padding:54px 0 34px;background:
  radial-gradient(900px 320px at 12% -10%,rgba(59,91,255,.14),transparent 60%),
  radial-gradient(700px 300px at 88% 0%,rgba(0,194,255,.14),transparent 62%);}
.hero .grid{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:center}
.kicker{
  display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--brand);
  background:rgba(59,91,255,.10);border:1px solid rgba(59,91,255,.18);padding:5px 12px;border-radius:999px;
}
.hero h1{font-size:42px;line-height:1.2;letter-spacing:-.6px;margin:16px 0 12px;font-weight:800}
.hero h1 em{
  font-style:normal;background:linear-gradient(100deg,var(--brand),#7b5bff 50%,#00a2ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p.sub{color:var(--ink-2);font-size:15.5px;margin:0 0 22px;max-width:560px}
.hero-search{display:flex;gap:10px;max-width:560px}
.hero-search .box{
  flex:1;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:0 16px;height:52px;box-shadow:var(--shadow-m);
}
.hero-search input{flex:1;border:0;outline:0;background:transparent;font-size:15px;color:var(--ink)}
.hero-search .btn{height:52px;border-radius:14px;padding:0 22px}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hero-tags a{
  font-size:12.5px;color:var(--ink-2);background:var(--card);border:1px solid var(--line);
  padding:4px 11px;border-radius:999px;transition:.18s;
}
.hero-tags a:hover{color:var(--brand);border-color:rgba(59,91,255,.4)}
.stats{display:flex;gap:30px;margin-top:26px}
.stats div{position:relative}
.stats div+div::before{content:"";position:absolute;left:-15px;top:6px;bottom:6px;width:1px;background:var(--line)}
.stats b{display:block;font-size:22px;font-weight:800;letter-spacing:-.5px}
.stats span{font-size:12.5px;color:var(--ink-3)}

/* 会员浮卡 */
.vip-float{
  position:relative;background:linear-gradient(160deg,#101a34,#1b2950 60%,#12203c);
  border-radius:var(--r-xl);padding:26px;color:#e8eefc;box-shadow:var(--shadow-l);
  border:1px solid rgba(255,255,255,.08);overflow:hidden;
}
.vip-float::before{
  content:"";position:absolute;width:260px;height:260px;right:-90px;top:-110px;border-radius:50%;
  background:radial-gradient(circle,rgba(246,183,60,.55),transparent 66%);
}
.vip-float .badge-gold{
  display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.6px;
  color:#4a2a00;background:linear-gradient(135deg,#ffe1a3,var(--gold));padding:4px 10px;border-radius:6px;
}
.vip-float h3{margin:14px 0 4px;font-size:20px;letter-spacing:-.3px}
.vip-float .price{display:flex;align-items:baseline;gap:8px;margin:10px 0 16px}
.vip-float .price b{font-size:40px;line-height:1;background:linear-gradient(120deg,#ffe6b0,var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.vip-float .price s{color:#8e9cb8;font-size:13px}
.vip-float .price i{font-style:normal;font-size:13px;color:#b9c5dd}
.vip-float ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:9px;font-size:13.5px;color:#c8d3e8}
.vip-float li{display:flex;gap:8px;align-items:flex-start}
.vip-float li svg{flex:none;margin-top:3px}
.vip-float .btn{width:100%}
.vip-float .tiny{font-size:11.5px;color:#94a3bd;text-align:center;margin-top:10px}

/* ---------------- 通用区块 ---------------- */
.section{padding:34px 0}
.sec-head{display:flex;align-items:flex-end;gap:14px;margin-bottom:20px}
.sec-head .t small{display:block;font-size:11.5px;letter-spacing:2.2px;color:var(--brand);font-weight:700;margin-bottom:2px}
.sec-head h2{margin:0;font-size:23px;letter-spacing:-.4px}
.sec-head .more{margin-left:auto;font-size:13.5px;color:var(--ink-2);display:flex;align-items:center;gap:6px}
.sec-head .more:hover{color:var(--brand)}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.chip{
  display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;border-radius:10px;
  background:var(--card);border:1px solid var(--line);font-size:13.5px;color:var(--ink-2);font-weight:500;transition:.18s;
}
.chip:hover{border-color:rgba(59,91,255,.45);color:var(--brand);transform:translateY(-1px)}
.chip.on{background:linear-gradient(135deg,var(--brand),#5b46ff);color:#fff;border-color:transparent;box-shadow:0 8px 18px -12px rgba(59,91,255,1)}
.chip span{font-size:11.5px;opacity:.7}

/* 卡片 */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;
  box-shadow:var(--shadow-s);transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-l);border-color:rgba(59,91,255,.28)}
.thumb{position:relative;aspect-ratio:16/9;background:var(--bg-soft);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .thumb img{transform:scale(1.045)}
.thumb .ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  font-size:26px;font-weight:800;color:#fff;letter-spacing:1px;position:relative}
.thumb .ph::after{content:"";position:absolute;inset:0;opacity:.14;
  background:repeating-linear-gradient(45deg,transparent 0 8px,#fff 8px 9px)}
.thumb .ph svg{position:relative;z-index:1;opacity:.95}
.thumb .ph span{position:relative;z-index:1;font-size:11px;font-weight:600;letter-spacing:2.4px;opacity:.92}
.thumb .cat{
  position:absolute;left:10px;bottom:10px;font-size:11.5px;color:#fff;background:rgba(9,15,28,.62);
  backdrop-filter:blur(6px);padding:3px 9px;border-radius:6px;font-weight:500;
}
.thumb .vip{
  position:absolute;right:0;top:10px;font-size:11px;font-weight:800;letter-spacing:.6px;
  background:linear-gradient(135deg,#ffd98a,var(--gold));color:#4a2a00;padding:3px 10px 3px 8px;
  border-radius:6px 0 0 6px;box-shadow:0 4px 10px -4px rgba(0,0,0,.4);
}
.thumb .free{position:absolute;right:0;top:10px;font-size:11px;font-weight:800;background:var(--ok);color:#fff;padding:3px 10px;border-radius:6px 0 0 6px}
.c-body{padding:14px 15px 15px;display:flex;flex-direction:column;gap:8px;flex:1}
.c-body h3{margin:0;font-size:15px;line-height:1.5;font-weight:650;letter-spacing:-.1px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:45px}
.card:hover h3{color:var(--brand)}
.c-body .desc{margin:0;font-size:12.5px;color:var(--ink-3);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.c-meta{display:flex;align-items:center;gap:12px;font-size:11.5px;color:var(--ink-3);margin-top:auto;padding-top:4px}
.c-meta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5}

/* 榜单 */
.two-col{display:grid;grid-template-columns:1.6fr 1fr;gap:26px;align-items:start}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:20px;box-shadow:var(--shadow-s)}
.panel-h{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.panel-h h3{margin:0;font-size:16.5px}
.panel-h .more{margin-left:auto;font-size:12.5px;color:var(--ink-3)}
.rank{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.rank li a{display:flex;align-items:center;gap:11px;padding:9px 6px;border-radius:9px;transition:.16s}
.rank li a:hover{background:var(--bg-soft)}
.rank .n{width:20px;text-align:center;font-size:13px;font-weight:800;color:var(--ink-3);flex:none}
.rank li:nth-child(1) .n{color:#e0453a}.rank li:nth-child(2) .n{color:#ef8b2c}.rank li:nth-child(3) .n{color:#c9a227}
.rank .tt{font-size:13.5px;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.rank .vv{margin-left:auto;font-size:11.5px;color:var(--ink-3);flex:none}

/* 会员大条 */
.vip-band{
  position:relative;overflow:hidden;border-radius:var(--r-xl);padding:34px 38px;color:#eaf0ff;
  background:linear-gradient(115deg,#0e1730,#1a2a55 48%,#0b1a37);box-shadow:var(--shadow-l);
  display:grid;grid-template-columns:1.4fr auto;gap:26px;align-items:center;border:1px solid rgba(255,255,255,.07);
}
.vip-band::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(500px 180px at 82% 10%,rgba(246,183,60,.30),transparent 70%),
             radial-gradient(420px 200px at 6% 90%,rgba(59,91,255,.35),transparent 70%);
}
.vip-band h2{margin:0 0 8px;font-size:26px;letter-spacing:-.5px;position:relative}
.vip-band p{margin:0;color:#b8c4dc;font-size:14px;position:relative}
.vip-band .perks{display:flex;gap:22px;flex-wrap:wrap;margin-top:16px;position:relative}
.vip-band .perks span{display:flex;align-items:center;gap:7px;font-size:13px;color:#d5deef}
.vip-band .right{position:relative;text-align:center}
.vip-band .right .p{display:flex;align-items:baseline;gap:6px;justify-content:center;margin-bottom:12px}
.vip-band .right .p b{font-size:44px;font-weight:800;letter-spacing:-2px;
  background:linear-gradient(120deg,#ffe9bb,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.vip-band .right .p s{color:#8d9ab5;font-size:13px}
.countdown{display:flex;gap:6px;justify-content:center;margin-bottom:14px}
.countdown b{
  min-width:32px;padding:4px 5px;border-radius:7px;background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);font-size:14px;color:#ffe6b0;font-variant-numeric:tabular-nums;
}
.countdown i{font-style:normal;color:#8d9ab5;align-self:center;font-size:12px}

/* 详情页 */
.crumb{font-size:12.5px;color:var(--ink-3);padding:18px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.crumb a:hover{color:var(--brand)}
.detail{display:grid;grid-template-columns:1fr 336px;gap:30px;padding:16px 0 40px;align-items:start}
.article{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:26px 28px;box-shadow:var(--shadow-s)}
.article h1{margin:0 0 12px;font-size:27px;line-height:1.4;letter-spacing:-.5px}
.a-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3);padding-bottom:16px;border-bottom:1px dashed var(--line)}
.a-meta b{color:var(--ink-2);font-weight:600}
.article .cover{border-radius:var(--r-m);overflow:hidden;margin:18px 0;aspect-ratio:16/8;background:var(--bg-soft)}
.article .cover img{width:100%;height:100%;object-fit:cover}
.prose{font-size:15px;color:var(--ink-2);line-height:1.9}
.prose h2{font-size:17.5px;color:var(--ink);margin:26px 0 10px;padding-left:11px;border-left:3px solid var(--brand);line-height:1.3}
.prose ul{padding-left:20px;margin:10px 0}
.prose li{margin:6px 0}
.prose p{margin:10px 0}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.tags a{font-size:12px;color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line);padding:4px 10px;border-radius:999px}
.tags a:hover{color:var(--brand);border-color:rgba(59,91,255,.4)}

/* 下载区 */
.dl{
  margin-top:24px;border:1px dashed rgba(59,91,255,.4);border-radius:var(--r-m);
  background:linear-gradient(180deg,rgba(59,91,255,.05),transparent);padding:20px;
}
.dl-h{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;margin-bottom:6px}
.dl-h .lock{color:var(--gold-ink);background:var(--gold-2);border-radius:6px;padding:1px 7px;font-size:11px}
.dl p.tip{margin:0 0 14px;font-size:12.5px;color:var(--ink-3)}
.dl-row{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:11px 14px;margin-bottom:10px}
.dl-row .name{font-size:13.5px;font-weight:600;flex:none}
.dl-row .val{
  flex:1;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12.5px;color:var(--ink-2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.dl-row .val.blur{filter:blur(4.5px);user-select:none;color:var(--brand);opacity:.85}
.dl-row .btn{height:32px;font-size:12.5px;padding:0 12px;border-radius:8px}
.dl-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}
.dl-foot .note{font-size:12px;color:var(--ink-3)}
.unlocked .dl-row .val{filter:none;color:var(--ok);font-weight:600}

/* 侧栏 */
.side{display:grid;gap:18px;position:sticky;top:calc(var(--head-h) + 16px)}
.side .vip-card{
  border-radius:var(--r-l);padding:22px;color:#eef3ff;background:linear-gradient(160deg,#131f3c,#1e2f5c 55%,#0f1e3d);
  box-shadow:var(--shadow-m);border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden;
}
.side .vip-card::before{content:"";position:absolute;width:200px;height:200px;right:-70px;top:-90px;border-radius:50%;
  background:radial-gradient(circle,rgba(246,183,60,.5),transparent 68%)}
.side .vip-card h4{margin:0 0 6px;font-size:17px;position:relative}
.side .vip-card .pp{display:flex;align-items:baseline;gap:7px;margin:8px 0 14px;position:relative}
.side .vip-card .pp b{font-size:32px;font-weight:800;color:var(--gold-2);letter-spacing:-1px}
.side .vip-card .pp s{color:#8e9cb8;font-size:12px}
.side .vip-card ul{list-style:none;margin:0 0 16px;padding:0;font-size:12.5px;color:#c3cfE6;display:grid;gap:7px}
.side .vip-card li::before{content:"✓";color:var(--gold);margin-right:7px;font-weight:800}
.side .vip-card .btn{width:100%}
.hot-mini{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hot-mini li a{display:flex;gap:10px;align-items:flex-start}
.hot-mini .im{width:64px;height:42px;border-radius:8px;overflow:hidden;flex:none;background:var(--bg-soft)}
.hot-mini .im img{width:100%;height:100%;object-fit:cover}
.hot-mini .tt{font-size:12.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hot-mini .mu{font-size:11px;color:var(--ink-3);margin-top:3px}

/* 价格页 */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0 10px}
.plan{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:26px 22px;
  box-shadow:var(--shadow-s);position:relative;display:flex;flex-direction:column;
}
.plan.hot{border:2px solid transparent;background:
  linear-gradient(var(--card),var(--card)) padding-box,
  linear-gradient(135deg,#f6b73c,#ff8a3d) border-box;box-shadow:0 20px 40px -26px rgba(246,183,60,.9)}
.plan .flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);font-size:11.5px;font-weight:800;
  background:linear-gradient(135deg,#ffd98a,#f2932f);color:#4a2a00;padding:3px 12px;border-radius:999px;white-space:nowrap}
.plan h3{margin:0 0 4px;font-size:17px}
.plan .sub{font-size:12.5px;color:var(--ink-3);margin-bottom:16px}
.plan .amt{display:flex;align-items:baseline;gap:6px;margin-bottom:16px}
.plan .amt b{font-size:38px;font-weight:800;letter-spacing:-1.5px}
.plan .amt i{font-style:normal;font-size:14px;color:var(--ink-2)}
.plan .amt s{font-size:12.5px;color:var(--ink-3)}
.plan ul{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:9px;font-size:13px;color:var(--ink-2);flex:1}
.plan li::before{content:"✓";color:var(--ok);font-weight:800;margin-right:8px}
.plan li.off{color:var(--ink-3)}
.plan li.off::before{content:"×";color:var(--ink-3)}
.pay-methods{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pay-method{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;padding:10px 14px;font-size:13px;background:var(--card);cursor:pointer}
.pay-method.on{border-color:var(--brand);background:rgba(59,91,255,.06);color:var(--brand);font-weight:600}

/* 表格 */
.table{width:100%;border-collapse:collapse;font-size:13.5px}
.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.table th{color:var(--ink-3);font-weight:600;font-size:12.5px}
.table td:first-child{font-weight:600}
.table .yes{color:var(--ok);font-weight:700}
.table .no{color:var(--ink-3)}

/* FAQ */
.faq{display:grid;gap:10px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;box-shadow:var(--shadow-s)}
.faq summary{cursor:pointer;font-weight:600;font-size:14px;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ink-3);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq p{margin:10px 0 0;color:var(--ink-2);font-size:13.5px;line-height:1.8}

/* 页脚 */
.footer{margin-top:50px;background:#0b1120;color:#93a0b8;font-size:13px}
.footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding:44px 0 30px}
.footer h4{color:#e6ecfa;font-size:13.5px;margin:0 0 12px;letter-spacing:.3px}
.footer a{display:block;padding:4px 0;color:#93a0b8}
.footer a:hover{color:#fff}
.footer .brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:17px;margin-bottom:10px}
.footer p{margin:0 0 10px;line-height:1.8;color:#7d8aa3}
.footer .bottom{border-top:1px solid rgba(255,255,255,.08);padding:16px 0 26px;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#6f7b93}
.footer .bottom .r{margin-left:auto;display:flex;gap:16px}

/* 模态 */
.modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal .mask{position:absolute;inset:0;background:rgba(9,14,26,.55);backdrop-filter:blur(6px)}
.modal .box{
  position:relative;width:100%;max-width:520px;background:var(--card);border-radius:var(--r-xl);
  box-shadow:var(--shadow-l);padding:26px;border:1px solid var(--line);max-height:92vh;overflow:auto;
  animation:pop .25s cubic-bezier(.2,.9,.3,1.2);
}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.modal .x{position:absolute;right:14px;top:12px;width:32px;height:32px;border-radius:9px;border:0;background:var(--bg-soft);color:var(--ink-2);font-size:17px;cursor:pointer}
.modal h3{margin:0 0 6px;font-size:19px}
.modal .lead{margin:0 0 18px;color:var(--ink-2);font-size:13.5px}
.plan-pick{display:grid;gap:10px;margin-bottom:16px}
.plan-pick label{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;transition:.16s}
.plan-pick label:hover{border-color:rgba(59,91,255,.5)}
.plan-pick input:checked + .pinfo{color:var(--brand)}
.plan-pick label:has(input:checked){border-color:var(--brand);background:rgba(59,91,255,.06)}
.plan-pick .pinfo{flex:1;font-size:14px;font-weight:600}
.plan-pick .pinfo small{display:block;font-weight:400;color:var(--ink-3);font-size:11.5px}
.plan-pick .pr{font-weight:800;font-size:16px}
.code-in{display:flex;gap:9px;margin-top:6px}
.code-in input{flex:1;height:42px;border-radius:11px;border:1px solid var(--line);background:var(--bg-soft);padding:0 14px;font-size:14px;letter-spacing:1px;outline:none;color:var(--ink)}
.code-in input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(59,91,255,.1)}
.msg{font-size:12.5px;margin-top:10px;min-height:18px}
.msg.ok{color:var(--ok)}.msg.err{color:var(--danger)}
.qr{width:190px;height:190px;border-radius:14px;border:1px solid var(--line);margin:6px auto 10px;display:block;object-fit:cover;background:#fff}

/* 移动底部条 */
.mbar{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line);gap:10px;
}
.mbar .t{flex:1;font-size:12px;color:var(--ink-2);line-height:1.4}
.mbar .t b{display:block;color:var(--ink);font-size:13.5px}

/* toast */
.toast{
  position:fixed;left:50%;bottom:34px;transform:translate(-50%,16px);z-index:200;background:#101828;color:#fff;
  padding:11px 18px;border-radius:11px;font-size:13.5px;box-shadow:var(--shadow-l);opacity:0;pointer-events:none;transition:.25s;
}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* 空状态 */
.empty{text-align:center;padding:70px 0;color:var(--ink-3)}
.empty b{display:block;font-size:16px;color:var(--ink-2);margin-bottom:6px}

/* 分页 */
.pager{display:flex;gap:8px;justify-content:center;margin:34px 0 10px;flex-wrap:wrap}
.pager a,.pager span{
  min-width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);
  background:var(--card);font-size:13.5px;color:var(--ink-2);padding:0 12px;
}
.pager a:hover{border-color:var(--brand);color:var(--brand)}
.pager .on{background:linear-gradient(135deg,var(--brand),#5b46ff);color:#fff;border-color:transparent;font-weight:600}
.pager .dis{opacity:.45}

/* 响应式 */
@media (max-width:1080px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .hero .grid{grid-template-columns:1fr;gap:26px}
  .vip-float{max-width:520px}
  .detail{grid-template-columns:1fr}
  .side{position:static}
  .two-col{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .footer .top{grid-template-columns:1fr 1fr}
  .nav{display:none}
  .vip-band{grid-template-columns:1fr;padding:26px}
}
@media (max-width:760px){
  body{font-size:14.5px;padding-bottom:64px;overflow-x:hidden}
  .header .wrap{gap:8px}
  .logo{font-size:15px}
  .logo .mark{width:30px;height:30px;border-radius:9px;font-size:14px}
  .logo small{display:none}
  .h-actions{gap:6px}
  .h-actions .btn-ghost{display:none}
  .h-actions .btn-vip{height:34px;padding:0 11px;font-size:12.5px}
  .icon-btn{width:32px;height:32px}
  .wrap{padding:0 14px}
  .hero{padding:30px 0 18px}
  .hero h1{font-size:29px}
  .hero p.sub{font-size:14px}
  .hero-search{flex-direction:column}
  .hero-search .btn{width:100%}
  .stats{gap:18px}
  .stats b{font-size:18px}
  .cards{grid-template-columns:repeat(2,1fr);gap:12px}
  .c-body h3{font-size:13.5px;min-height:40px}
  .c-meta{gap:6px;font-size:10.5px;white-space:nowrap;overflow:hidden}
  .c-meta .dot{display:none}
  .stats{gap:14px}
  .stats b{font-size:17px}
  .stats span{font-size:11px}
  .c-body .desc{display:none}
  .search-s{display:none}
  .article{padding:18px 16px}
  .article h1{font-size:20px}
  .mbar{display:flex}
  .topbar .right{display:none}
  .footer .top{grid-template-columns:1fr}
  .section{padding:22px 0}
  .sec-head h2{font-size:19px}
  .chips{gap:7px}
  .chip{height:32px;padding:0 11px;font-size:12.5px}
  .dl-row{flex-wrap:wrap}
  .dl-row .val{width:100%;flex:none}
}
