/* ===== L2 门户宫格 · 紫 ===== */
:root{
  --c-bg:#fbf7ff; --c-bg-2:#f3e8ff; --c-card:#fff; --c-line:#e9d8fd; --c-line-soft:#f6efff;
  --c-text:#1c1130; --c-text-2:#4a3566; --c-sub:#8b7aa8;
  --c-primary:#7c3aed; --c-primary-2:#ec4899;
  --c-brand-grad:linear-gradient(120deg,#7c3aed,#a855f7 55%,#ec4899);
  --c-radius:18px; --c-radius-sm:12px;
}
.l2-hero{background:var(--c-brand-grad);border-radius:22px;padding:44px 28px;margin:22px 0 26px;color:#fff;position:relative;overflow:hidden}
.l2-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.13);right:-90px;top:-120px}
.l2-hero-inner{position:relative;z-index:1;text-align:center}
.l2-hero h1{margin:0 0 18px;font-size:31px;letter-spacing:.5px}
.l2-search{display:flex;max-width:560px;margin:0 auto;background:rgba(255,255,255,.96);border-radius:999px;padding:5px;box-shadow:0 10px 30px rgba(80,20,140,.25)}
.l2-search input{flex:1;border:0;outline:0;padding:11px 20px;font-size:15px;background:transparent;border-radius:999px}
.l2-search button{border:0;background:#1c1130;color:#fff;border-radius:999px;padding:0 24px;font-weight:600;cursor:pointer}
.l2-stat{margin-top:16px;font-size:13px;opacity:.9}
.l2-stat b{font-size:17px;font-weight:700}
.l2-sec{margin:26px 0}
.l2-h2{font-size:17px;margin:0 0 14px;padding-left:11px;border-left:4px solid var(--c-primary)}
.l2-cats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.l2-cat{display:flex;flex-direction:column;gap:5px;align-items:center;padding:16px 8px;background:#fff;border:1px solid var(--c-line);border-radius:14px;transition:.18s}
.l2-cat:hover{transform:translateY(-3px);border-color:var(--c-primary);box-shadow:0 10px 24px rgba(124,58,237,.14)}
.l2-cat-name{font-size:14px;font-weight:600;color:var(--c-text)}
.l2-cat-num{font-size:11.5px;color:var(--c-sub)}
.l2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.l2-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--c-line);border-radius:var(--c-radius-sm);padding:16px;transition:.18s}
.l2-card:hover{border-color:var(--c-primary-2);transform:translateY(-2px)}
.l2-card b{font-size:14.5px;color:var(--c-text)}
.l2-card span{font-size:12.5px;color:var(--c-sub);line-height:1.6}
.l2-hot{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.l2-hot-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--c-line);border-radius:10px;padding:10px 12px;font-size:13px}
.l2-hot-item span{width:19px;height:19px;border-radius:5px;background:var(--c-bg-2);color:var(--c-primary);font-size:11.5px;display:flex;align-items:center;justify-content:center;flex:0 0 19px}
.l2-hot-item b{flex:1;font-weight:500;color:var(--c-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.l2-hot-item em{font-style:normal;font-size:11px;color:var(--c-sub)}
@media(max-width:900px){.l2-cats{grid-template-columns:repeat(3,1fr)}.l2-grid{grid-template-columns:1fr 1fr}.l2-hot{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.l2-hero h1{font-size:23px}.l2-cats{grid-template-columns:1fr 1fr}.l2-grid{grid-template-columns:1fr}}

/* ==== L2 header/hero v2 ==== */

/* ===== L2 header：居中刊头 + 全宽分类条 ===== */
.h2-head{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--c-line);padding-top:env(safe-area-inset-top)}
.h2-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:64px}
.h2-brand{grid-column:2;display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800;letter-spacing:2px}
.h2-mark{color:var(--c-primary);font-size:18px}
.h2-links{grid-column:3;justify-self:end;display:flex;gap:16px;font-size:13px;color:var(--c-text-2)}
.h2-links a:hover{color:var(--c-primary)}
.h2-navwrap{border-top:1px solid var(--c-line-soft);background:var(--c-bg)}
.h2-nav{display:flex;align-items:center;gap:6px;height:44px;overflow-x:auto;scrollbar-width:none}
.h2-nav::-webkit-scrollbar{display:none}
.h2-nav a{white-space:nowrap;padding:5px 12px;border-radius:6px;font-size:13px;color:var(--c-text-2)}
.h2-nav a.on{background:var(--c-primary);color:#fff;font-weight:600}
.h2-nav a:hover{color:var(--c-primary)}
/* ===== L2 hero：横幅 + 下沉搜索卡 ===== */
.l2-hero{background:linear-gradient(120deg,var(--c-primary),var(--c-primary-2));border-radius:20px;padding:48px 30px 82px;text-align:center;color:#fff;margin-top:22px}
.l2-hero-inner h1{font-size:34px;margin:0 0 10px;color:#fff;letter-spacing:-.5px}
.l2-hero-sub{margin:0;font-size:13.5px;opacity:.86}
.l2-searchwrap{max-width:780px;margin:-48px auto 0;background:#fff;border:1px solid var(--c-line);border-radius:16px;padding:15px 16px;box-shadow:0 16px 44px rgba(124,58,237,.16);position:relative;z-index:2}
.l2-search{display:flex}
.l2-search input{flex:1;height:46px;border:1px solid var(--c-line);border-right:0;border-radius:10px 0 0 10px;padding:0 16px;font-size:15px;outline:none;color:var(--c-text)}
.l2-search input:focus{border-color:var(--c-primary)}
.l2-search button{height:46px;padding:0 26px;border:0;border-radius:0 10px 10px 0;background:var(--c-brand-grad);color:#fff;font-weight:600;cursor:pointer}
.l2-stat{margin-top:11px;text-align:center;font-size:12.5px;color:var(--c-sub)}
.l2-stat b{color:var(--c-primary)}
@media(max-width:860px){.l2-hero{padding:34px 20px 74px}.l2-hero-inner h1{font-size:24px}.l2-brand{letter-spacing:0}}
