/*
Theme Name: AIFlux News
Theme URI: https://aifluxnews.com
Author: AIFlux
Description: 蓝紫科技感 AI 产业新闻主题。经典主题(PHP 模板),配套 aifluxnews.com 设计稿。
Version: 1.0.4
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: aiflux
*/

/* ============ tokens & reset ============ */
:root{
  --bg:#f5f6fb; --card:#fff; --ink:#15172a; --ink2:#5b6080; --muted:#9298b5;
  --line:#e9ebf4; --primary:#5b50f0; --primary2:#8b5cf6; --tintbg:#eef0fb;
  --dark:#0e1020; --grad:linear-gradient(135deg,#6366f1,#8b5cf6);
  --font:'Sora','PingFang SC','Microsoft YaHei',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{ box-sizing:border-box; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--font);
  -webkit-font-smoothing:antialiased; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }

/* ============ utility bar ============ */
.utilbar{ background:var(--dark); color:#aeb2c9; }
.utilbar .wrap{ height:34px; display:flex; align-items:center; justify-content:space-between;
  font-size:12px; font-family:var(--mono); letter-spacing:.02em; }
.utilbar a{ margin-left:18px; } .utilbar .accent{ color:#fff; }

/* ============ header ============ */
.site-header{ background:rgba(255,255,255,.85); backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line); position:sticky; top:0; z-index:40; }
.site-header .wrap{ height:70px; display:flex; align-items:center; gap:28px; }
.brand{ display:flex; align-items:center; gap:11px; flex:none; }
.brand .mark{ width:34px; height:34px; border-radius:9px; background:var(--grad);
  display:flex; align-items:center; justify-content:center; box-shadow:0 6px 16px rgba(99,102,241,.35); }
.brand .mark i{ width:13px; height:13px; border-radius:3px; background:#fff; transform:rotate(45deg); }
.brand .name{ font-weight:800; font-size:21px; letter-spacing:-.02em; }
.brand .name span{ font-family:var(--mono); font-size:12px; color:#8a8fae; font-weight:500; }
.mainnav{ display:flex; align-items:center; gap:4px; height:100%; flex:1; }
.mainnav a{ height:100%; display:flex; align-items:center; padding:0 12px; font-size:14.5px;
  font-weight:500; color:#4a4f68; white-space:nowrap; }
.mainnav a:hover{ color:var(--primary); }
.mainnav .current-menu-item a,.mainnav .current_page_item a,.mainnav a.active{
  color:var(--primary); font-weight:600; box-shadow:inset 0 -2px 0 var(--primary); }
.searchbox{ display:flex; align-items:center; gap:8px; height:38px; padding:0 14px; min-width:200px;
  background:#eef0f7; border:1px solid #e6e8f3; border-radius:10px; color:var(--muted); flex:none; }
.searchbox input{ border:none; background:transparent; outline:none; font-size:13px; width:100%;
  font-family:var(--font); color:var(--ink); }

/* ============ ticker ============ */
.ticker{ background:#101225; color:#fff; overflow:hidden; border-bottom:1px solid #20233f; }
.ticker .wrap{ display:flex; align-items:center; height:42px; gap:18px; }
.ticker .label{ flex:none; display:flex; align-items:center; gap:8px; font-family:var(--mono);
  font-size:12px; font-weight:600; letter-spacing:.08em; color:#ff4d6d; text-transform:uppercase; }
.ticker .dot{ width:7px; height:7px; border-radius:50%; background:#ff4d6d; animation:aif-pulse 1.4s ease-in-out infinite; }
.ticker .track-mask{ flex:1; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 92%,transparent); }
.ticker .track{ display:inline-flex; gap:38px; white-space:nowrap; animation:aif-scroll 34s linear infinite; }
.ticker .tick{ display:inline-flex; align-items:center; gap:9px; font-size:13px; color:#d7daf0; }
.ticker .tick time{ font-family:var(--mono); font-size:11px; color:#6f74ff; }
@keyframes aif-scroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes aif-pulse{ 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.7)} }

/* ============ layout ============ */
.main{ padding:30px 0 60px; }
.layout{ display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; }
.cover-ph{ background:#eaecf6;
  background-image:repeating-linear-gradient(135deg,rgba(99,102,241,.08) 0 12px,rgba(99,102,241,0) 12px 24px);
  display:flex; align-items:center; justify-content:center; overflow:hidden; }
.cover-ph span{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; color:#aab0cd; text-transform:uppercase; }
.cover-ph img{ width:100%; height:100%; object-fit:cover; }

/* ============ hero ============ */
.hero{ display:grid; grid-template-columns:1.55fr 1fr; gap:22px; margin-bottom:38px; }
.hero-feat{ position:relative; background:var(--card); border:1px solid var(--line); border-radius:18px; overflow:hidden;
  box-shadow:0 10px 30px rgba(20,22,50,.05); }
.hero-feat:hover{ box-shadow:0 16px 40px rgba(91,80,240,.13); }
.hero-feat .cover-ph{ aspect-ratio:16/8; position:relative; }
.hero-feat .badge{ position:absolute; top:16px; left:16px; font-family:var(--mono); font-size:11px;
  font-weight:600; color:#fff; background:var(--primary); padding:5px 11px; border-radius:7px; }
.hero-feat .body{ padding:24px 26px 26px; }
.hero-feat h2{ margin:0 0 12px; font-size:28px; line-height:1.25; font-weight:700; letter-spacing:-.02em; }
.hero-feat p{ margin:0 0 16px; font-size:15px; line-height:1.7; color:var(--ink2); }
.meta{ display:flex; align-items:center; gap:14px; font-size:12.5px; color:#8a8fae; font-family:var(--mono); }
.meta .src{ color:var(--primary); }
.hero-side{ display:flex; flex-direction:column; gap:18px; }
.scard{ position:relative; background:var(--card); border:1px solid var(--line); border-radius:16px; overflow:hidden;
  flex:1; display:flex; flex-direction:column; }
.scard:hover{ box-shadow:0 12px 30px rgba(91,80,240,.1); }
.scard .cover-ph{ aspect-ratio:16/7; }
.scard .body{ padding:16px 18px; flex:1; display:flex; flex-direction:column; gap:9px; }
.scard h3{ margin:0; font-size:17px; line-height:1.35; font-weight:600; letter-spacing:-.01em; }

/* ============ section head + chips ============ */
.sec-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px;
  padding-bottom:14px; border-bottom:2px solid var(--ink); }
.sec-head h2{ margin:0; font-size:19px; font-weight:700; letter-spacing:-.01em; }
.chips{ display:flex; gap:8px; }
.chip{ font-size:13px; font-weight:500; color:var(--ink2); background:#fff; border:1px solid #e6e8f3;
  padding:5px 12px; border-radius:8px; cursor:pointer; }
.chip:hover{ border-color:var(--primary); color:var(--primary); }
.chip.active{ font-weight:600; color:#fff; background:var(--primary); border-color:var(--primary); }
.cat-tag{ position:relative; z-index:2; font-family:var(--mono); font-size:11px; font-weight:600; color:var(--primary);
  background:var(--tintbg); padding:3px 9px; border-radius:6px; }
.time{ font-family:var(--mono); font-size:12px; color:var(--muted); }

/* ============ list item ============ */
.list-item{ position:relative; display:flex; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }
.list-item:hover{ opacity:.92; }
.list-item .thumb{ flex:none; width:172px; aspect-ratio:16/10; border-radius:12px; }
.list-item .it-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:9px; }
.list-item .it-top{ display:flex; align-items:center; gap:10px; }
.list-item h3{ margin:0; font-size:19px; line-height:1.35; font-weight:600; letter-spacing:-.01em; text-wrap:pretty; }
.list-item .excerpt{ margin:0; font-size:14px; line-height:1.6; color:#6a7090;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ============ buttons ============ */
.btn-load{ display:block; margin:32px auto 0; font-family:var(--font); font-size:14px; font-weight:600;
  color:var(--primary); background:#fff; border:1.5px solid #d8d9f4; padding:12px 30px; border-radius:11px; cursor:pointer; }
.btn-load:hover{ background:var(--primary); color:#fff; border-color:var(--primary); }

/* ============ sidebar ============ */
.sidebar{ display:flex; flex-direction:column; gap:24px; position:sticky; top:88px; }
.widget{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:20px; }
.widget h3{ margin:0 0 6px; font-size:16px; font-weight:700; }
.widget-head{ display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.trend-item{ display:flex; gap:13px; padding:13px 0; border-bottom:1px solid #eef0f6; }
.trend-item .rank{ flex:none; width:24px; font-family:var(--mono); font-size:18px; font-weight:700; color:#cdd0e6; }
.trend-item h4{ margin:0 0 4px; font-size:14px; line-height:1.4; font-weight:600; }
.trend-item .metric{ font-family:var(--mono); font-size:11px; color:var(--muted); }
.news-cta{ background:var(--grad); border-radius:16px; padding:24px; color:#fff;
  box-shadow:0 14px 34px rgba(99,102,241,.32); }
.news-cta .kicker{ font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  opacity:.85; margin-bottom:10px; }
.news-cta h3{ margin:0 0 8px; font-size:20px; font-weight:700; line-height:1.3; color:#fff; }
.news-cta p{ margin:0 0 16px; font-size:13px; line-height:1.6; opacity:.9; }
.news-cta .row{ display:flex; gap:8px; }
.news-cta input{ flex:1; min-width:0; height:42px; border:none; border-radius:10px; padding:0 13px;
  font-size:13px; font-family:var(--mono); color:var(--ink); outline:none; }
.news-cta button{ flex:none; height:42px; padding:0 16px; border:none; border-radius:10px;
  background:var(--ink); color:#fff; font-family:var(--font); font-size:13px; font-weight:600; cursor:pointer; }
.news-cta .small{ margin-top:11px; font-size:11.5px; opacity:.8; }
.tool-item{ display:flex; align-items:center; gap:12px; padding:11px 0; border-bottom:1px solid #eef0f6; }
.tool-item .ico{ flex:none; width:38px; height:38px; border-radius:10px;
  background:linear-gradient(135deg,#eef0fb,#e6e3fb); display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-weight:700; font-size:15px; color:var(--primary); }
.tool-item .tname{ font-size:14px; font-weight:600; } .tool-item .tcat{ font-size:12px; color:var(--muted); }

/* ============ archive grid ============ */
.cat-hero{ background:linear-gradient(135deg,#15172a,#23264a); border-radius:18px; padding:34px 36px;
  color:#fff; margin-bottom:30px; position:relative; overflow:hidden; }
.cat-hero .glow{ position:absolute; right:-40px; top:-40px; width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle,rgba(139,92,246,.5),transparent 70%); }
.cat-hero .kicker{ font-family:var(--mono); font-size:12px; letter-spacing:.1em; color:#8b8fff;
  text-transform:uppercase; margin-bottom:10px; }
.cat-hero h1{ margin:0 0 12px; font-size:38px; font-weight:800; letter-spacing:-.03em; }
.cat-hero p{ margin:0; font-size:15px; line-height:1.7; color:#b9bdd9; max-width:620px; }
.cat-hero .count{ margin-top:18px; font-family:var(--mono); font-size:12px; color:#8a8fae; }
.grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.card{ position:relative; background:var(--card); border:1px solid var(--line); border-radius:15px; overflow:hidden;
  display:flex; flex-direction:column; }
.card:hover{ box-shadow:0 12px 30px rgba(91,80,240,.1); }
.card .cover-ph{ aspect-ratio:16/9; }
.card .body{ padding:16px 18px 18px; flex:1; display:flex; flex-direction:column; gap:9px; }
.card h3{ margin:0; font-size:16.5px; line-height:1.4; font-weight:600; letter-spacing:-.01em; }
.card .excerpt{ margin:0; font-size:13.5px; line-height:1.6; color:#6a7090;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pagination{ display:flex; justify-content:center; align-items:center; gap:6px; margin-top:38px;
  font-family:var(--mono); }
.pagination .page-numbers{ width:38px; height:38px; display:flex; align-items:center; justify-content:center;
  border-radius:9px; background:#fff; border:1px solid #e6e8f3; color:var(--ink2); font-size:14px; }
.pagination .page-numbers.current{ background:var(--primary); color:#fff; border-color:var(--primary); font-weight:600; }
.pagination a.page-numbers:hover{ border-color:var(--primary); color:var(--primary); }

/* ============ single ============ */
.article{ max-width:760px; margin:0 auto; padding:32px 24px 50px; }
.breadcrumb{ font-family:var(--mono); font-size:12px; color:var(--muted); margin-bottom:22px; }
.breadcrumb a{ color:var(--primary); }
.article .cat-pill{ display:inline-block; font-family:var(--mono); font-size:12px; font-weight:600;
  color:#fff; background:var(--primary); padding:5px 12px; border-radius:7px; margin-bottom:18px; }
.article h1{ margin:0 0 18px; font-size:38px; line-height:1.22; font-weight:800; letter-spacing:-.03em; text-wrap:balance; }
.article .lead{ margin:0 0 22px; font-size:18px; line-height:1.6; color:var(--ink2); }
.byline{ display:flex; align-items:center; gap:14px; padding:16px 0; border-top:1px solid var(--line);
  border-bottom:1px solid var(--line); margin-bottom:28px; }
.byline .avatar{ width:42px; height:42px; border-radius:50%; background:var(--grad); display:flex;
  align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:16px; }
.byline .who{ flex:1; } .byline .who .nm{ font-size:14px; font-weight:600; }
.byline .who .dt{ font-family:var(--mono); font-size:12px; color:var(--muted); }
.byline .act{ width:36px; height:36px; border-radius:9px; border:1px solid #e6e8f3; display:flex;
  align-items:center; justify-content:center; color:#6a7090; cursor:pointer; font-size:14px; }
.figcap{ font-family:var(--mono); font-size:12px; color:var(--muted); margin:14px 0 30px; }
.prose{ font-size:17px; line-height:1.85; color:#2a2d44; }
.prose p{ margin:0 0 22px; }
.prose h2{ margin:8px 0 16px; font-size:24px; font-weight:700; letter-spacing:-.02em; }
.prose blockquote{ margin:0 0 28px; padding:0 0 0 24px; border-left:3px solid #cdd0e6; font-size:21px;
  line-height:1.5; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
.keybox{ background:#f3f1fe; border-left:4px solid var(--primary); border-radius:0 12px 12px 0;
  padding:20px 24px; margin:0 0 28px; }
.keybox .kt{ font-family:var(--mono); font-size:11px; font-weight:600; color:var(--primary);
  letter-spacing:.08em; text-transform:uppercase; margin-bottom:10px; }
.keybox ul{ margin:0; padding-left:20px; font-size:15px; line-height:1.8; color:#3a3d5a; }
.tags{ display:flex; gap:8px; margin:32px 0; flex-wrap:wrap; }
.tags a{ font-family:var(--mono); font-size:12px; color:var(--ink2); background:#eef0f7;
  padding:6px 13px; border-radius:8px; }
.article-cta{ background:var(--grad); border-radius:16px; padding:26px 28px; color:#fff; margin:36px 0;
  display:flex; align-items:center; gap:22px; }
.article-cta h3{ margin:0 0 6px; font-size:19px; font-weight:700; color:#fff; }
.article-cta p{ margin:0; font-size:13.5px; opacity:.9; }
.article-cta button{ flex:none; height:44px; padding:0 24px; border:none; border-radius:11px;
  background:#fff; color:var(--primary); font-family:var(--font); font-size:14px; font-weight:700; cursor:pointer; }
.related{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.related .rcard{ position:relative; background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.related .rcard:hover{ box-shadow:0 12px 28px rgba(91,80,240,.1); }
.related .rcard .cover-ph{ aspect-ratio:16/8; }
.related .rcard .rb{ padding:15px 16px; }
.related .rcard h4{ margin:6px 0 0; font-size:15px; line-height:1.4; font-weight:600; }

/* ============ search ============ */
.search-hero{ max-width:720px; margin:0 auto 30px; padding-top:14px; }
.search-bar{ display:flex; align-items:center; gap:12px; height:56px; background:#fff;
  border:1.5px solid var(--primary); border-radius:14px; padding:0 18px; box-shadow:0 10px 30px rgba(91,80,240,.12); }
.search-bar input{ flex:1; border:none; outline:none; font-family:var(--font); font-size:17px;
  font-weight:500; color:var(--ink); }
.search-bar button{ flex:none; height:38px; padding:0 20px; border:none; border-radius:9px;
  background:var(--primary); color:#fff; font-family:var(--font); font-size:14px; font-weight:600; cursor:pointer; }
.result-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:18px;
  padding-bottom:14px; border-bottom:1px solid var(--line); font-size:14px; color:#6a7090; }
.facet{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; }
.facet h3{ margin:0 0 14px; font-size:14px; font-weight:700; }
.facet .ft{ font-family:var(--mono); font-size:11px; color:var(--muted); margin-bottom:9px;
  text-transform:uppercase; letter-spacing:.06em; }
.facet label{ display:flex; align-items:center; justify-content:space-between; font-size:13.5px;
  color:#4a4f68; cursor:pointer; margin-bottom:9px; }
.facet label .box{ width:15px; height:15px; border:1.5px solid #cdd0e6; border-radius:4px; margin-right:8px; }

/* ============ footer ============ */
.site-footer{ background:var(--dark); color:#9499b5; margin-top:20px; }
.site-footer .cols{ padding:48px 0 28px; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:36px; }
.site-footer .ftitle{ font-size:13px; font-weight:600; color:#fff; margin-bottom:14px; }
.site-footer .flist{ display:flex; flex-direction:column; gap:10px; font-size:13px; }
.site-footer .desc{ margin:0 0 14px; font-size:13px; line-height:1.7; max-width:300px; }
.site-footer .domain{ font-family:var(--mono); font-size:12px; color:#6f74a0; }
.site-footer .bottom{ border-top:1px solid #20233f; }
.site-footer .bottom .wrap{ padding:18px 24px; display:flex; justify-content:space-between;
  align-items:center; font-size:12px; color:#6f74a0; font-family:var(--mono); }

/* ============ responsive ============ */
@media (max-width:980px){
  .hero,.layout{ grid-template-columns:1fr; } .grid{ grid-template-columns:repeat(2,1fr); }
  .sidebar{ position:static; }
}
@media (max-width:640px){
  .mainnav,.searchbox{ display:none; } .grid,.related{ grid-template-columns:1fr; }
  .site-footer .cols{ grid-template-columns:1fr 1fr; }
  .list-item .thumb{ width:120px; } .article h1,.cat-hero h1{ font-size:28px; }
}
