:root{
  --primary:#5b6cff;
  --primary-2:#8b5cf6;
  --grad:linear-gradient(135deg,#5b6cff 0%,#8b5cf6 100%);
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#1f2330;
  --text-2:#5a6172;
  --muted:#9aa1b2;
  --border:#eceef4;
  --shadow:0 2px 12px rgba(30,40,90,.06);
  --shadow-hover:0 8px 28px rgba(91,108,255,.16);
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--bg);color:var(--text);line-height:1.6;font-size:15px;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{max-width:1240px;margin:0 auto;padding:0 20px}

/* ---------- 顶部导航 ---------- */
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.topbar-inner{display:flex;align-items:center;gap:20px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;white-space:nowrap}
.logo .mark{width:34px;height:34px;border-radius:9px;background:var(--grad);display:grid;place-items:center;color:#fff;font-size:18px}
.logo .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nav{display:flex;gap:6px;margin-left:8px}
.nav a{padding:8px 14px;border-radius:9px;color:var(--text-2);font-weight:600;transition:.15s}
.nav a:hover{background:#f0f1f7;color:var(--text)}
.nav a.active{background:#eef0ff;color:var(--primary)}
.search{margin-left:auto;flex:1;max-width:420px;position:relative}
.search input{width:100%;height:42px;border:1px solid var(--border);background:#fff;border-radius:22px;padding:0 44px 0 18px;font-size:14px;outline:none;transition:.15s}
.search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(91,108,255,.12)}
.search .ico{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:16px}
.admin-link{color:var(--muted);font-size:13px;white-space:nowrap}
.admin-link:hover{color:var(--primary)}
.menu-toggle{display:none;font-size:24px;background:none;border:none;cursor:pointer;color:var(--text)}

/* ---------- Hero ---------- */
.hero{background:var(--grad);color:#fff;padding:46px 0 40px;text-align:center}
.hero h1{font-size:32px;font-weight:800;margin-bottom:10px}
.hero p{opacity:.92;font-size:16px}
.hero .hero-search{max-width:560px;margin:22px auto 0;position:relative}
.hero .hero-search input{width:100%;height:52px;border:none;border-radius:26px;padding:0 54px 0 22px;font-size:16px;outline:none;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.hero .hero-search .ico{position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:20px}

/* ---------- 主体布局 ---------- */
.layout{display:flex;gap:26px;padding:28px 0 60px;align-items:flex-start}
.sidebar{width:200px;flex-shrink:0;position:sticky;top:84px}
.sidebar h4{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px 6px}
.cat-nav{display:flex;flex-direction:column;gap:2px}
.cat-nav a{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:10px;color:var(--text-2);font-weight:600;font-size:14px;transition:.15s}
.cat-nav a:hover{background:#eef0ff;color:var(--primary)}
.cat-nav a .emo{font-size:16px}
.content{flex:1;min-width:0}

/* ---------- 分类分组 ---------- */
.cat-section{margin-bottom:34px;scroll-margin-top:80px}
.cat-title{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:800;margin-bottom:14px}
.cat-title .emo{font-size:22px}
.cat-title .count{font-size:13px;color:var(--muted);font-weight:600}

/* ---------- 工具卡片 ---------- */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.tool-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;gap:13px;transition:.18s;position:relative;box-shadow:var(--shadow)}
.tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:#dfe3ff}
.tool-card .logo-box{width:46px;height:46px;border-radius:11px;flex-shrink:0;overflow:hidden;background:#f2f3f8;display:grid;place-items:center}
.tool-card .logo-box img{width:100%;height:100%;object-fit:cover}
.tool-card .info{min-width:0;flex:1}
.tool-card .name{font-weight:700;font-size:15px;display:flex;align-items:center;gap:6px}
.tool-card .name .fire{font-size:12px}
.tool-card .desc{color:var(--text-2);font-size:13px;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tool-card .tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px}
.tool-card .tag{font-size:11px;color:var(--text-2);background:#f2f3f8;padding:2px 8px;border-radius:6px}
.badge-hot{position:absolute;top:12px;right:12px;font-size:10px;color:#fff;background:linear-gradient(135deg,#ff7a59,#ff4d6d);padding:2px 7px;border-radius:6px;font-weight:700}

/* ---------- 资讯/文章列表 ---------- */
.page-head{padding:30px 0 8px}
.page-head h1{font-size:26px;font-weight:800}
.page-head p{color:var(--text-2);margin-top:6px}
.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}
.filter-bar a{padding:7px 15px;border-radius:20px;background:#fff;border:1px solid var(--border);color:var(--text-2);font-weight:600;font-size:14px;transition:.15s}
.filter-bar a:hover{border-color:var(--primary);color:var(--primary)}
.filter-bar a.active{background:var(--grad);color:#fff;border-color:transparent}

.post-list{display:flex;flex-direction:column;gap:14px}
.post-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;transition:.18s;box-shadow:var(--shadow)}
.post-card:hover{box-shadow:var(--shadow-hover);border-color:#dfe3ff;transform:translateY(-2px)}
.post-card .p-cat{display:inline-block;font-size:12px;color:var(--primary);background:#eef0ff;padding:2px 10px;border-radius:6px;font-weight:600;margin-bottom:8px}
.post-card h3{font-size:18px;font-weight:700;margin-bottom:6px}
.post-card .p-sum{color:var(--text-2);font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card .p-meta{display:flex;gap:14px;color:var(--muted);font-size:13px;margin-top:12px}

.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}

/* ---------- 资讯/文章卡片（渐变封面 + 网格 + 分页） ---------- */
.p-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}
.p-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;box-shadow:var(--shadow)}
.p-card:hover{transform:translateY(-6px);box-shadow:0 14px 38px rgba(40,60,120,.12);border-color:#dfe3ff}
.p-cover{position:relative;aspect-ratio:16/9;background:#eef0f7;overflow:hidden;flex-shrink:0}
.p-cover img{width:100%;height:100%;object-fit:cover}
/* 渐变封面：底部加深以便白色文字可读；hover 时微微 zoom 增强质感 */
.p-cover.grad{display:flex;flex-direction:column;justify-content:flex-end;padding:16px 18px;color:#fff;transition:transform .5s ease}
.p-card:hover .p-cover.grad{transform:scale(1.04)}
/* 底部黑色渐变蒙版——保证 source 文字与图标始终可读 */
.p-cover.grad::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.42) 100%);pointer-events:none}
/* 噪点纹理叠加 */
.p-cover.grad::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .22 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:overlay;opacity:.5;pointer-events:none}
.p-cover-ico{position:absolute;top:13px;right:15px;font-size:22px;opacity:.92;filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));z-index:2}
.p-cover-src{position:relative;z-index:2;font-size:13px;font-weight:700;letter-spacing:.3px;max-width:84%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.35)}

/* —— 干净编辑式封面（v3：统一品牌，不靠随机色） —— */
/* 列表卡顶部色带：固定 4 色分类色板，由 PHP 端内联 background */
.p-cover-strip{height:6px;width:100%;flex-shrink:0}
/* 头条 hero：单一品牌渐变（与 --grad 一致）+ 底部加深蒙版保证白字可读 */
.p-cover-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#5b6cff 0%,#8b5cf6 100%);min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 26px;color:#fff}
.p-cover-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.45) 100%);pointer-events:none}
.p-cover-hero .p-cover-ico{position:absolute;top:20px;right:24px;font-size:30px;opacity:.95;z-index:2}
.p-cover-hero .p-cover-src{position:relative;z-index:2;font-size:14px;font-weight:700;letter-spacing:.3px;max-width:86%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.4)}
.p-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;min-width:0}
.p-cat{display:inline-flex;align-items:center;align-self:flex-start;font-size:11.5px;color:var(--primary);background:#eef0ff;padding:3px 10px;border-radius:6px;font-weight:600;margin-bottom:9px;letter-spacing:.2px}
.p-card h3{font-size:16.5px;font-weight:700;line-height:1.5;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#1d2235;transition:color .2s}
.p-card:hover h3{color:var(--primary)}
.p-sum{color:var(--text-2);font-size:13.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.p-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;color:var(--muted);font-size:12.5px;margin-top:auto;padding-top:14px;border-top:1px dashed var(--border)}
.p-meta span{display:inline-flex;align-items:center;gap:4px}
.p-meta span+span::before{content:"·";margin:0 8px;color:#cfd3e3;font-weight:400}

/* 头条大卡（横向，仅列表首页无筛选时） */
.p-card.featured{flex-direction:row;align-items:stretch;margin-bottom:6px}
.p-card.featured .p-cover{aspect-ratio:auto;width:48%;min-height:300px;flex-shrink:0}
.p-card.featured .p-cover-hero{width:48%;min-height:300px;flex-shrink:0}
.p-card.featured .p-body{justify-content:center;padding:28px 34px}
.p-card.featured h3{font-size:24px;line-height:1.32;-webkit-line-clamp:3;margin-bottom:12px}
.p-card.featured .p-sum{-webkit-line-clamp:4;font-size:14.5px;margin-top:4px;line-height:1.7}
.p-card.featured .p-cat{font-size:12.5px;padding:4px 12px;margin-bottom:12px}
.p-card.featured .p-cover-src{font-size:15px}

/* 分页器 */
.pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin:38px 0 8px}
.pager .pg,.pager a.pg{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 14px;border-radius:10px;background:#fff;border:1px solid var(--border);color:var(--text-2);font-weight:600;font-size:14px;transition:.15s}
.pager a.pg:hover{border-color:var(--primary);color:var(--primary);background:#f5f7ff}
.pager .pg-active{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 4px 14px rgba(91,108,255,.32)}
.pager .pg-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.pager .pg-dots{color:var(--muted);padding:0 4px}

/* ---------- 详情页 ---------- */
.article{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:36px 40px;margin:26px 0;box-shadow:var(--shadow)}
.article h1{font-size:28px;font-weight:800;line-height:1.35;margin-bottom:14px}
.article .a-meta{display:flex;gap:16px;color:var(--muted);font-size:14px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--border)}
.article-body{font-size:16px;color:#2b3040;line-height:1.9}
.article-body h2{font-size:21px;font-weight:800;margin:26px 0 12px}
.article-body h3{font-size:18px;font-weight:700;margin:20px 0 10px}
.article-body p{margin:12px 0}
.article-body ul,.article-body ol{margin:12px 0 12px 24px}
.article-body li{margin:6px 0}
.article-body strong{color:var(--primary)}
.article-body code{background:#f2f3f8;padding:2px 6px;border-radius:5px;font-size:14px}
/* 资讯正文图片与图注（来自 RSS 抓取的 HTML 正文） */
.article-body img{max-width:100%;height:auto;display:block;margin:20px auto;border-radius:10px;box-shadow:0 2px 12px rgba(20,30,60,.08)}
.article-body .image-wrapper{margin:20px 0;text-align:center}
.article-body .image-wrapper img{margin:0 auto}
.article-body .img-desc{text-align:center;color:var(--muted);font-size:13px;line-height:1.6;margin:6px 0 2px;font-style:italic}
.article-body .editor-note{margin-top:28px;padding:12px 16px;background:#f6f7fb;border-radius:10px;font-size:13px;color:var(--muted);border-left:3px solid var(--border)}
.article-body .loading-entity{display:none}
.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-weight:600;margin-top:8px}
.back-link:hover{color:var(--primary)}
.source-box{margin-top:20px;padding:14px 18px;background:#f6f7fb;border-radius:10px;font-size:14px;color:var(--text-2)}
.source-box a{color:var(--primary);font-weight:600}

/* ---------- 空状态 ---------- */
.empty{text-align:center;padding:70px 20px;color:var(--muted)}
.empty .em{font-size:44px;margin-bottom:10px}

/* ---------- 页脚 ---------- */
.footer{background:#fff;border-top:1px solid var(--border);padding:30px 0;text-align:center;color:var(--muted);font-size:14px;margin-top:20px}
.footer .fnav{display:flex;gap:18px;justify-content:center;margin-bottom:10px}
.footer .fnav a:hover{color:var(--primary)}

/* ---------- 响应式 ---------- */
@media(max-width:860px){
  .sidebar{display:none}
  .nav{display:none}
  .search{max-width:none}
  .menu-toggle{display:block}
  .hero h1{font-size:25px}
  .tools-grid{grid-template-columns:1fr 1fr}
  .p-card.featured{flex-direction:column}
  .p-card.featured .p-cover{width:100%;aspect-ratio:16/9;min-height:0}
  .p-card.featured .p-cover-hero{width:100%;min-height:220px}
  .p-card.featured .p-body{padding:18px}
  .p-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .tools-grid{grid-template-columns:1fr}
  .topbar-inner{gap:10px}
  .logo{font-size:17px}
  .p-grid{grid-template-columns:1fr}
}

/* ============================================================
 * 资讯 / GEO 横排卡（量子位 / 36氪 风格）
 * 用全新 .r- 前缀，跟历史 .p- .post- .cards- 完全隔离
 * 结构：
 *   .r-list   列表容器（横向 3 列网格）
 *   .r-card   每条卡（flex-row：左缩略图 + 右文字）
 *   .r-thumb  左侧缩略图占位（180×135）
 *   .r-body   右侧文字区
 *   .r-featured 头条大卡（左 50% 大图 + 右大标题）
 * ============================================================ */
.r-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(380px,1fr));
  gap:16px;
  margin:8px 0 24px;
}

/* 卡片本身：白底、细线、圆角、hover 微亮 */
.r-card{
  display:flex;
  flex-direction:row;
  align-items:stretch;
  background:var(--card,#fff);
  border:1px solid var(--border,#e5e7eb);
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.r-card:hover{
  border-color:#c7d2fe;
  box-shadow:0 6px 20px rgba(60,80,160,.10);
  transform:translateY(-2px);
}

/* 左侧缩略图：固定 180×135 */
.r-thumb{
  flex:0 0 180px;
  width:180px;
  height:135px;
  position:relative;
  background:#eef0f7;
  overflow:hidden;
}
.r-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* 无图占位（信源首字大头像）：用 r-thumb-empty 承载 */
.r-thumb-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-weight:800;
  position:relative;
}
.r-avatar{
  font-size:48px;
  letter-spacing:0;
  line-height:1;
  text-shadow:0 2px 8px rgba(0,0,0,.18);
}
.r-avatar-emoji{
  font-size:44px;
}
.r-source-tag{
  position:absolute;
  left:10px;
  bottom:8px;
  font-size:11px;
  font-weight:600;
  padding:2px 8px;
  background:rgba(255,255,255,.78);
  color:#1d2235;
  border-radius:4px;
  letter-spacing:.3px;
  max-width:140px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* 右侧文字区 */
.r-body{
  flex:1;
  min-width:0;
  padding:16px 18px 14px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.r-cat{
  align-self:flex-start;
  display:inline-block;
  font-size:12px;
  font-weight:600;
  padding:2px 10px;
  border-radius:4px;
  line-height:1.5;
}
.r-title{
  font-size:16px;
  font-weight:700;
  line-height:1.5;
  color:#1d2235;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .18s ease;
}
.r-card:hover .r-title{color:var(--primary,#5b6cff)}
.r-sum{
  font-size:13.5px;
  line-height:1.65;
  color:#5b6275;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  flex:1;
}
.r-meta{
  display:flex;
  flex-wrap:wrap;
  gap:4px 14px;
  font-size:12.5px;
  color:#9098a8;
  margin-top:auto;
  padding-top:6px;
}

/* 头条大卡：左侧 50% 大图（仍走 r-thumb 但宽高放大） */
.r-featured{
  display:flex;
  flex-direction:row;
  align-items:stretch;
  margin-bottom:16px;
  border:1px solid var(--border,#e5e7eb);
  border-radius:14px;
  background:var(--card,#fff);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.r-featured:hover{
  border-color:#c7d2fe;
  box-shadow:0 10px 30px rgba(60,80,160,.14);
  transform:translateY(-2px);
}
.r-featured .r-hero-img{
  flex:0 0 50%;
  width:50%;
  min-height:300px;
  height:auto;
  background:#eef0f7;
  position:relative;
  overflow:hidden;
}
.r-featured .r-hero-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.r-featured .r-hero-img.r-thumb-empty{
  display:flex;
  align-items:center;
  justify-content:center;
}
.r-featured .r-hero-img .r-avatar{
  font-size:96px;
}
.r-featured .r-body{
  padding:30px 34px;
  justify-content:center;
  gap:14px;
}
.r-featured .r-title{
  font-size:22px;
  line-height:1.4;
  -webkit-line-clamp:3;
}
.r-featured .r-sum{
  font-size:14.5px;
  -webkit-line-clamp:4;
  line-height:1.75;
}

/* 分页（沿用之前的 .pager，但加个 .r-pager 别名兜底） */
.r-pager,.pager{margin:24px 0 8px}

/* 响应式：横排卡随屏宽变化 */
@media(max-width:1080px){
  .r-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
}
@media(max-width:860px){
  .r-list{grid-template-columns:1fr 1fr;gap:14px}
  .r-thumb{flex-basis:150px;width:150px;height:114px}
  .r-featured{flex-direction:column}
  .r-featured .r-hero-img{width:100%;flex-basis:auto;min-height:200px}
  .r-featured .r-body{padding:22px}
  .r-featured .r-title{font-size:19px}
}
@media(max-width:560px){
  .r-list{grid-template-columns:1fr}
  .r-thumb{flex-basis:130px;width:130px;height:100px}
  .r-avatar{font-size:38px}
  .r-featured .r-hero-img .r-avatar{font-size:72px}
}

/* ================================================================
   v5 日期色块+文字 横排列表（山务 qi2008 风）
   - 左：圆角淡绿底色块（"日"+"月/年"）
   - 右：标题 / 副标题 / 摘要 / meta
   - 整行上方细分隔线
   ================================================================ */
.d-list{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  overflow:hidden;
}

.d-row{
  display:flex;
  gap:18px;
  padding:18px 22px;
  align-items:flex-start;
  text-decoration:none;
  color:inherit;
  border-top:1px solid #eef0f3;
  transition:background .15s;
}
.d-list .d-row:first-child{ border-top:none; }
.d-row:hover{ background:#f8fafc; }
.d-row:hover .d-title{ color:#16a34a; }

.d-date{
  flex:0 0 80px;
  background:#ecf5e3;
  color:#2d5016;
  border-radius:6px;
  text-align:center;
  padding:10px 4px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-height:80px;
  user-select:none;
}
.d-date .d-d{
  font-size:30px;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.5px;
  font-family:-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
.d-date .d-m{
  font-size:11px;
  color:#4a7a3a;
  margin-top:3px;
  letter-spacing:.4px;
  font-weight:500;
}

.d-body{
  flex:1;
  min-width:0;
}

.d-cat{
  display:inline-block;
  font-size:10.5px;
  font-weight:600;
  padding:1px 7px;
  border-radius:3px;
  margin-bottom:5px;
  letter-spacing:.2px;
  line-height:1.5;
}

.d-title{
  font-size:15.5px;
  font-weight:600;
  color:#1f2937;
  line-height:1.5;
  margin:0 0 4px 0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .15s;
}

.d-subtitle{
  font-size:12.5px;
  color:#16a34a;
  font-weight:500;
  line-height:1.45;
  margin:0 0 4px 0;
  letter-spacing:.2px;
}

.d-sum{
  font-size:13px;
  color:#6b7280;
  line-height:1.6;
  margin:0 0 6px 0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.d-meta{
  font-size:11.5px;
  color:#9ca3af;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.d-meta span{ display:inline-flex; align-items:center; gap:3px; }

/* 头条大卡 */
.d-row.d-featured{
  padding:22px 24px;
  align-items:stretch;
  background:linear-gradient(180deg,#fafcf5 0%,#ffffff 60%);
}
.d-row.d-featured .d-date{
  background:linear-gradient(135deg,#16a34a 0%,#2d5016 100%);
  color:#fff;
  flex:0 0 110px;
  min-height:110px;
  padding:14px 6px;
  box-shadow:0 3px 10px rgba(22,163,74,.2);
  border-radius:8px;
}
.d-row.d-featured .d-date .d-d{ font-size:40px; }
.d-row.d-featured .d-date .d-m{ color:rgba(255,255,255,.85); font-size:12px; }
.d-row.d-featured .d-title{ font-size:18.5px; -webkit-line-clamp:2; font-weight:700; }
.d-row.d-featured .d-subtitle{ font-size:13.5px; }
.d-row.d-featured .d-sum{ -webkit-line-clamp:3; }
.d-row.d-featured:hover{ background:#f5faf0; }

/* 响应式 */
@media(max-width:720px){
  .d-row{ gap:12px; padding:14px 12px; }
  .d-date{ flex:0 0 64px; min-height:64px; padding:8px 3px; }
  .d-date .d-d{ font-size:24px; }
  .d-date .d-m{ font-size:10px; }
  .d-title{ font-size:14.5px; }
  .d-sum{ font-size:12.5px; }
  .d-row.d-featured{ padding:16px 12px; }
  .d-row.d-featured .d-date{ flex:0 0 80px; min-height:80px; padding:10px 4px; }
  .d-row.d-featured .d-date .d-d{ font-size:28px; }
  .d-row.d-featured .d-title{ font-size:16.5px; }
}

/* ================================================================
   .n-* ai-bot 风资讯列表（按天分组 + 纯超链接条目 + 文末来源）
   与 .d-* 色块卡片零冲突，独立体系
   ================================================================ */
.n-banner{
  background:linear-gradient(135deg,#3b82f6 0%,#1e40af 100%);
  color:#fff;
  padding:36px 32px;
  border-radius:14px;
  text-align:center;
  margin-bottom:20px;
  box-shadow:0 6px 20px rgba(59,130,246,.18);
}
.n-banner h1{ font-size:28px; margin:0 0 8px; font-weight:700; }
.n-banner p{ font-size:14px; opacity:.95; margin:0; line-height:1.6; }

.n-intro{
  background:#fff;
  border:1px solid #eef0f3;
  padding:16px 22px;
  border-radius:8px;
  margin-bottom:20px;
  color:#4a5163;
  font-size:14px;
  line-height:1.75;
}
.n-intro strong{ color:#1e40af; }

.n-day-head{
  display:inline-block;
  background:#f3e8ff;
  color:#6d28d9;
  padding:6px 16px;
  border-radius:18px;
  font-size:14px;
  font-weight:600;
  margin:24px 0 12px;
  letter-spacing:.3px;
}

.n-day-list{
  background:#fff;
  border:1px solid #eef0f3;
  border-radius:10px;
  padding:8px 24px;
  margin-bottom:8px;
}

.n-item{
  padding:18px 0;
  border-bottom:1px dashed #eef0f3;
}
.n-day-list .n-item:last-child{ border-bottom:none; }

.n-title{
  font-size:16px;
  font-weight:600;
  margin:0 0 8px;
  line-height:1.55;
  display:flex;
  align-items:flex-start;
  gap:6px;
  flex-wrap:wrap;
}
.n-title .dot{ color:#6d28d9; flex-shrink:0; line-height:1.7; }
.n-title a{
  color:#2563eb;
  text-decoration:none;
  transition:color .15s;
}
.n-title a:hover{ color:#1e40af; text-decoration:underline; }

.n-badge{
  display:inline-block;
  font-size:11px;
  font-weight:500;
  background:#fff7e6;
  color:#d97706;
  padding:2px 8px;
  border-radius:10px;
  margin-left:4px;
  flex-shrink:0;
}

.n-sum{
  font-size:13.5px;
  color:#4a5163;
  line-height:1.75;
  margin:0 0 6px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.n-source{
  font-size:12px;
  color:#9aa1b2;
}

@media(max-width:720px){
  .n-banner{ padding:24px 18px; }
  .n-banner h1{ font-size:22px; }
  .n-day-list{ padding:6px 14px; }
  .n-title{ font-size:14.5px; }
  .n-sum{ font-size:12.5px; }
}

/* ================= 工具详情页 (tool.php) ================= */
.t-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding:18px 0 4px;flex-wrap:wrap}
.t-breadcrumb a{color:var(--text-2)}
.t-breadcrumb a:hover{color:var(--primary)}
.t-breadcrumb .sep{color:var(--muted)}
.t-breadcrumb .cur{color:var(--text);font-weight:600}

.t-head{display:flex;align-items:center;gap:20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow);margin-bottom:22px}
.t-logo{width:92px;height:92px;border-radius:20px;flex-shrink:0;overflow:hidden;background:#f2f3f8;display:grid;place-items:center;border:1px solid var(--border)}
.t-logo img{width:100%;height:100%;object-fit:cover}
.t-info{flex:1;min-width:0}
.t-name{font-size:26px;font-weight:800;display:flex;align-items:center;gap:10px;color:#1d2235}
.t-name .badge-hot{position:static;font-size:11px}
.t-host{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.t-cat{font-size:12.5px;color:var(--primary);background:#eef0ff;padding:3px 11px;border-radius:7px;font-weight:600}
.t-link{font-size:13px;color:var(--text-2);text-decoration:underline;text-underline-offset:2px}
.t-link:hover{color:var(--primary)}
.t-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.t-tags .tag{font-size:12px;color:var(--text-2);background:#f2f3f8;padding:3px 10px;border-radius:7px}
.t-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0}
.t-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 26px;border-radius:12px;background:var(--grad);color:#fff;font-weight:700;font-size:15px;box-shadow:0 6px 18px rgba(91,108,255,.28);transition:.18s;white-space:nowrap}
.t-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(91,108,255,.36)}

.t-detail{display:grid;grid-template-columns:1fr 320px;gap:24px;padding-bottom:50px;align-items:start}
.t-main{display:flex;flex-direction:column;gap:20px;min-width:0}
.t-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow)}
.t-h2{font-size:19px;font-weight:800;margin-bottom:16px;padding-left:12px;position:relative;color:#1d2235}
.t-h2::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:4px;border-radius:3px;background:var(--grad)}
.t-body{color:var(--text-2);font-size:15px;line-height:1.85}
.t-body p{margin-bottom:12px}
.t-body h2,.t-body h3{color:#1d2235;margin:18px 0 10px;font-weight:700}
.t-body h2{font-size:18px}
.t-body h3{font-size:16px}
.t-body ul,.t-body ol{margin:0 0 12px 22px}
.t-body li{margin-bottom:7px}
.t-body strong{color:var(--primary)}

.t-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.t-feature{display:flex;align-items:center;gap:8px;background:#f7f8fc;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--text);font-weight:600}
.t-feature .dot{color:var(--primary);font-size:9px}

.t-news{list-style:none;display:flex;flex-direction:column;gap:2px}
.t-news li{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-bottom:1px dashed var(--border)}
.t-news li:last-child{border-bottom:none}
.t-news a{font-size:14.5px;font-weight:600;color:var(--text);line-height:1.5}
.t-news a:hover{color:var(--primary)}
.t-news span{font-size:12px;color:var(--muted)}

.t-aside{position:sticky;top:84px}
.t-aside-title{font-size:14px;font-weight:800;color:var(--text);margin-bottom:12px;padding-left:2px}
.t-rel-list{display:flex;flex-direction:column;gap:10px}
.t-rel{display:flex;gap:11px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:11px 12px;transition:.16s}
.t-rel:hover{border-color:#dfe3ff;box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.t-rel-logo{width:42px;height:42px;border-radius:10px;flex-shrink:0;overflow:hidden;background:#f2f3f8;display:grid;place-items:center}
.t-rel-logo img{width:100%;height:100%;object-fit:cover}
.t-rel-info{display:flex;flex-direction:column;min-width:0;gap:2px}
.t-rel-name{font-size:14.5px;font-weight:700;color:#1d2235}
.t-rel-desc{font-size:12px;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.t-rel-empty{font-size:13px;color:var(--muted);padding:10px 2px}

@media(max-width:860px){
  .t-detail{grid-template-columns:1fr}
  .t-aside{position:static}
  .t-head{flex-wrap:wrap;gap:16px}
  .t-actions{width:100%;flex-direction:row}
  .t-btn{flex:1}
}
@media(max-width:720px){
  .t-logo{width:72px;height:72px;border-radius:16px}
  .t-name{font-size:22px}
  .t-section{padding:20px 18px}
}

/* ============ 工具详情页 v2（ai-bot 风，2026-08-04） ============ */
.t-breadcrumb{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13px; color:var(--muted); margin:18px 0 14px; }
.t-breadcrumb a{ color:var(--text-2); text-decoration:none; }
.t-breadcrumb a:hover{ color:var(--primary); }
.t-breadcrumb .sep{ color:#cdd2de; }
.t-breadcrumb .cur{ color:var(--text); font-weight:600; }

/* 头部卡片 */
.t-head{ display:flex; gap:22px; align-items:center; background:var(--card); border:1px solid var(--border); border-radius:16px; padding:26px 28px; margin-bottom:22px; box-shadow:var(--shadow); }
.t-logo{ width:88px; height:88px; flex:0 0 88px; border-radius:20px; overflow:hidden; background:#f3f4f6; display:flex; align-items:center; justify-content:center; }
.t-logo img{ width:100%; height:100%; object-fit:contain; }
.t-info{ flex:1; min-width:0; }
.t-name-row{ display:flex; align-items:center; gap:10px; }
.t-name{ font-size:26px; font-weight:800; color:var(--text); margin:0; }
.badge-hot{ background:#fff1f0; color:#e11d48; border:1px solid #ffd7d3; font-size:12px; font-weight:700; padding:2px 9px; border-radius:999px; }
.t-tagline{ color:var(--text-2); font-size:14.5px; line-height:1.6; margin:8px 0 12px; }
.t-meta{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.t-cat{ background:rgba(91,108,255,.10); color:var(--primary); font-size:13px; font-weight:600; padding:3px 12px; border-radius:999px; }
.t-host{ color:var(--muted); font-size:13px; text-decoration:none; }
.t-host:hover{ color:var(--primary); }
.t-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.tag{ background:#f3f4f6; color:#4b5563; font-size:12.5px; padding:3px 10px; border-radius:999px; }
.t-actions{ display:flex; flex-direction:column; gap:10px; flex:0 0 auto; }
.t-btn{ display:inline-flex; align-items:center; justify-content:center; background:var(--primary); color:#fff; font-weight:700; font-size:15px; padding:11px 24px; border-radius:12px; text-decoration:none; white-space:nowrap; transition:.15s; }
.t-btn:hover{ opacity:.92; box-shadow:var(--shadow-hover); }
.t-btn-ghost{ display:inline-flex; align-items:center; justify-content:center; gap:6px; background:#fff; border:1px solid var(--border); color:#4b5563; font-weight:600; font-size:14px; padding:10px 24px; border-radius:12px; cursor:pointer; transition:.15s; }
.t-btn-ghost:hover{ border-color:var(--primary); color:var(--primary); }
.t-btn-ghost.active{ background:#fff7ed; border-color:#fdba74; color:#ea580c; }

/* 主栏 + 侧栏栅格 */
.t-detail{ display:grid; grid-template-columns:1fr 320px; gap:24px; align-items:start; }
.t-main{ min-width:0; }
.t-prose{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:6px 30px 22px; box-shadow:var(--shadow); }
.t-prose h2{ font-size:19px; font-weight:800; color:var(--text); margin:26px 0 12px; padding-left:12px; border-left:4px solid var(--primary); }
.t-prose h3{ font-size:16px; font-weight:700; color:var(--text); margin:18px 0 8px; }
.t-prose p{ color:#374151; font-size:15px; line-height:1.85; margin:10px 0; }
.t-prose p strong{ color:var(--text); font-weight:700; }
.t-prose ul,.t-prose ol{ margin:10px 0; padding-left:22px; }
.t-prose li{ color:#374151; font-size:15px; line-height:1.85; margin:6px 0; }
.t-prose a{ color:var(--primary); text-decoration:none; }
.t-prose a:hover{ text-decoration:underline; }
.t-prose code{ background:#f3f4f6; padding:1px 6px; border-radius:5px; font-size:13px; }

.t-block{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px 30px 22px; margin-top:22px; box-shadow:var(--shadow); }
.t-h2{ font-size:19px; font-weight:800; color:var(--text); margin:0 0 14px; }
.t-news{ list-style:none; margin:0; padding:0; }
.t-news li{ padding:12px 0; border-bottom:1px solid #f1f3f5; }
.t-news li:last-child{ border-bottom:none; }
.t-news a{ color:var(--text); font-size:15px; font-weight:600; text-decoration:none; display:block; margin-bottom:4px; }
.t-news a:hover{ color:var(--primary); }
.t-news span{ color:var(--muted); font-size:12.5px; }

/* 侧栏模块 */
.t-aside{ display:flex; flex-direction:column; gap:18px; position:sticky; top:84px; }
.t-infocard{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px 20px; box-shadow:var(--shadow); }
.t-ic-title{ font-size:14px; font-weight:800; color:var(--text); margin-bottom:10px; }
.t-ic-row{ display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px dashed #eef0f3; font-size:13.5px; }
.t-ic-row:last-child{ border-bottom:none; }
.t-ic-row span{ color:var(--muted); }
.t-ic-row b{ color:var(--text); font-weight:600; }
.t-ic-row a{ color:var(--primary); text-decoration:none; }
.t-aside-title{ font-size:14px; font-weight:800; color:var(--text); margin-bottom:2px; }
.t-rel-list{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:8px 14px; display:flex; flex-direction:column; gap:2px; box-shadow:var(--shadow); }
.t-rel{ display:flex; gap:12px; align-items:center; padding:10px; border-radius:10px; text-decoration:none; transition:.15s; }
.t-rel:hover{ background:#f7f8fc; }
.t-rel-logo{ width:40px; height:40px; flex:0 0 40px; border-radius:10px; background:#f3f4f6; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.t-rel-logo img{ width:100%; height:100%; object-fit:contain; }
.t-rel-info{ min-width:0; }
.t-rel-name{ display:block; color:var(--text); font-weight:700; font-size:14.5px; }
.t-rel-desc{ display:block; color:var(--muted); font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:210px; }
.t-rel-empty{ color:var(--muted); font-size:13px; padding:12px; }
.t-tags-cloud{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:14px 16px; box-shadow:var(--shadow); }
.t-tagcloud{ display:inline-block; background:#f3f4f6; color:#4b5563; font-size:12.5px; padding:4px 11px; border-radius:999px; text-decoration:none; margin:0 6px 6px 0; transition:.15s; }
.t-tagcloud:hover{ background:rgba(91,108,255,.12); color:var(--primary); }
.t-share{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:14px 16px; display:flex; flex-wrap:wrap; gap:8px; box-shadow:var(--shadow); }
.t-share-btn{ background:#f3f4f6; color:#4b5563; font-size:13px; font-weight:600; padding:7px 13px; border-radius:9px; border:none; cursor:pointer; text-decoration:none; transition:.15s; }
.t-share-btn:hover{ background:rgba(91,108,255,.12); color:var(--primary); }

.back-link{ display:inline-block; margin:22px 0 8px; color:var(--text-2); font-size:14px; font-weight:600; }
.back-link:hover{ color:var(--primary); }

@media(max-width:880px){
  .t-detail{ grid-template-columns:1fr; }
  .t-aside{ position:static; }
  .t-head{ flex-direction:column; align-items:flex-start; }
  .t-actions{ flex-direction:row; width:100%; }
  .t-btn,.t-btn-ghost{ flex:1; }
  .t-prose,.t-block{ padding-left:18px; padding-right:18px; }
}
@media(max-width:720px){
  .t-logo{ width:72px; height:72px; border-radius:16px; }
  .t-name{ font-size:22px; }
}

/* ============ 工具详情页 v2（ai-bot 风，2026-08-04） ============ */
.t-breadcrumb{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:13px; color:var(--muted); margin:18px 0 14px; }
.t-breadcrumb a{ color:var(--text-2); text-decoration:none; }
.t-breadcrumb a:hover{ color:var(--primary); }
.t-breadcrumb .sep{ color:#cdd2de; }
.t-breadcrumb .cur{ color:var(--text); font-weight:600; }

/* 头部卡片 */
.t-head{ display:flex; gap:22px; align-items:center; background:var(--card); border:1px solid var(--border); border-radius:16px; padding:26px 28px; margin-bottom:22px; box-shadow:var(--shadow); }
.t-logo{ width:88px; height:88px; flex:0 0 88px; border-radius:20px; overflow:hidden; background:#f3f4f6; display:flex; align-items:center; justify-content:center; }
.t-logo img{ width:100%; height:100%; object-fit:contain; }
.t-info{ flex:1; min-width:0; }
.t-name-row{ display:flex; align-items:center; gap:10px; }
.t-name{ font-size:26px; font-weight:800; color:var(--text); margin:0; }
.badge-hot{ background:#fff1f0; color:#e11d48; border:1px solid #ffd7d3; font-size:12px; font-weight:700; padding:2px 9px; border-radius:999px; }
.t-tagline{ color:var(--text-2); font-size:14.5px; line-height:1.6; margin:8px 0 12px; }
.t-meta{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.t-cat{ background:rgba(91,108,255,.10); color:var(--primary); font-size:13px; font-weight:600; padding:3px 12px; border-radius:999px; }
.t-host{ color:var(--muted); font-size:13px; text-decoration:none; }
.t-host:hover{ color:var(--primary); }
.t-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.tag{ background:#f3f4f6; color:#4b5563; font-size:12.5px; padding:3px 10px; border-radius:999px; }
.t-actions{ display:flex; flex-direction:column; gap:10px; flex:0 0 auto; }
.t-btn{ display:inline-flex; align-items:center; justify-content:center; background:var(--primary); color:#fff; font-weight:700; font-size:15px; padding:11px 24px; border-radius:12px; text-decoration:none; white-space:nowrap; transition:.15s; }
.t-btn:hover{ opacity:.92; box-shadow:var(--shadow-hover); }
.t-btn-ghost{ display:inline-flex; align-items:center; justify-content:center; gap:6px; background:#fff; border:1px solid var(--border); color:#4b5563; font-weight:600; font-size:14px; padding:10px 24px; border-radius:12px; cursor:pointer; transition:.15s; }
.t-btn-ghost:hover{ border-color:var(--primary); color:var(--primary); }
.t-btn-ghost.active{ background:#fff7ed; border-color:#fdba74; color:#ea580c; }

/* 主栏 + 侧栏栅格 */
.t-detail{ display:grid; grid-template-columns:1fr 320px; gap:24px; align-items:start; }
.t-main{ min-width:0; }
.t-prose{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:6px 30px 22px; box-shadow:var(--shadow); }
.t-prose h2{ font-size:19px; font-weight:800; color:var(--text); margin:26px 0 12px; padding-left:12px; border-left:4px solid var(--primary); }
.t-prose h3{ font-size:16px; font-weight:700; color:var(--text); margin:18px 0 8px; }
.t-prose p{ color:#374151; font-size:15px; line-height:1.85; margin:10px 0; }
.t-prose p strong{ color:var(--text); font-weight:700; }
.t-prose ul,.t-prose ol{ margin:10px 0; padding-left:22px; }
.t-prose li{ color:#374151; font-size:15px; line-height:1.85; margin:6px 0; }
.t-prose a{ color:var(--primary); text-decoration:none; }
.t-prose a:hover{ text-decoration:underline; }
.t-prose code{ background:#f3f4f6; padding:1px 6px; border-radius:5px; font-size:13px; }

.t-block{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px 30px 22px; margin-top:22px; box-shadow:var(--shadow); }
.t-h2{ font-size:19px; font-weight:800; color:var(--text); margin:0 0 14px; }
.t-news{ list-style:none; margin:0; padding:0; }
.t-news li{ padding:12px 0; border-bottom:1px solid #f1f3f5; }
.t-news li:last-child{ border-bottom:none; }
.t-news a{ color:var(--text); font-size:15px; font-weight:600; text-decoration:none; display:block; margin-bottom:4px; }
.t-news a:hover{ color:var(--primary); }
.t-news span{ color:var(--muted); font-size:12.5px; }

/* 侧栏模块 */
.t-aside{ display:flex; flex-direction:column; gap:18px; position:sticky; top:84px; }
.t-infocard{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px 20px; box-shadow:var(--shadow); }
.t-ic-title{ font-size:14px; font-weight:800; color:var(--text); margin-bottom:10px; }
.t-ic-row{ display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px dashed #eef0f3; font-size:13.5px; }
.t-ic-row:last-child{ border-bottom:none; }
.t-ic-row span{ color:var(--muted); }
.t-ic-row b{ color:var(--text); font-weight:600; }
.t-ic-row a{ color:var(--primary); text-decoration:none; }
.t-aside-title{ font-size:14px; font-weight:800; color:var(--text); margin-bottom:2px; }
.t-rel-list{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:8px 14px; display:flex; flex-direction:column; gap:2px; box-shadow:var(--shadow); }
.t-rel{ display:flex; gap:12px; align-items:center; padding:10px; border-radius:10px; text-decoration:none; transition:.15s; }
.t-rel:hover{ background:#f7f8fc; }
.t-rel-logo{ width:40px; height:40px; flex:0 0 40px; border-radius:10px; background:#f3f4f6; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.t-rel-logo img{ width:100%; height:100%; object-fit:contain; }
.t-rel-info{ min-width:0; }
.t-rel-name{ display:block; color:var(--text); font-weight:700; font-size:14.5px; }
.t-rel-desc{ display:block; color:var(--muted); font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:210px; }
.t-rel-empty{ color:var(--muted); font-size:13px; padding:12px; }
.t-tags-cloud{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:14px 16px; box-shadow:var(--shadow); }
.t-tagcloud{ display:inline-block; background:#f3f4f6; color:#4b5563; font-size:12.5px; padding:4px 11px; border-radius:999px; text-decoration:none; margin:0 6px 6px 0; transition:.15s; }
.t-tagcloud:hover{ background:rgba(91,108,255,.12); color:var(--primary); }
.t-share{ background:var(--card); border:1px solid var(--border); border-radius:16px; padding:14px 16px; display:flex; flex-wrap:wrap; gap:8px; box-shadow:var(--shadow); }
.t-share-btn{ background:#f3f4f6; color:#4b5563; font-size:13px; font-weight:600; padding:7px 13px; border-radius:9px; border:none; cursor:pointer; text-decoration:none; transition:.15s; }
.t-share-btn:hover{ background:rgba(91,108,255,.12); color:var(--primary); }

.back-link{ display:inline-block; margin:22px 0 8px; color:var(--text-2); font-size:14px; font-weight:600; }
.back-link:hover{ color:var(--primary); }

@media(max-width:880px){
  .t-detail{ grid-template-columns:1fr; }
  .t-aside{ position:static; }
  .t-head{ flex-direction:column; align-items:flex-start; }
  .t-actions{ flex-direction:row; width:100%; }
  .t-btn,.t-btn-ghost{ flex:1; }
  .t-prose,.t-block{ padding-left:18px; padding-right:18px; }
}
@media(max-width:720px){
  .t-logo{ width:72px; height:72px; border-radius:16px; }
  .t-name{ font-size:22px; }
}
