/* ===========================================================
   海角网 - 论坛社区风格（淡蓝+白）
   信息密度高 / 边框分割 / 楼层感 / 真实SVG图标
   =========================================================== */
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:-apple-system,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
  background:#f4f6fa;
  color:#222;
  font-size:13px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;vertical-align:middle}
button{font-family:inherit;cursor:pointer}

/* ── SVG icon ── */
.ic{
  width:1em;height:1em;
  min-width:1em;
  fill:currentColor;
  vertical-align:-2px;
  display:inline-block;
  flex-shrink:0;
  overflow:hidden;
}

/* ── 主色变量 ── */
:root{
  --blue:#2585e6;
  --blue-d:#1f6fc7;
  --blue-l:#e6f1fc;
  --blue-bg:#f0f6fd;
  --border:#e3eaf2;
  --border-d:#cfd8e3;
  --bg:#f4f6fa;
  --bg-card:#fff;
  --text:#1d2129;
  --text-2:#5a6470;
  --text-3:#8b95a3;
  --hot:#e8282a;
  --pin:#1976d2;
  --essence:#f5a623;
}

/* ── Header（紧凑导航条）── */
#header{
  background:#fff;
  position:sticky;top:0;z-index:200;
  border-bottom:1px solid var(--border);
}
.header-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;
  padding:0 14px;gap:14px;height:60px;
}
a.logo,.logo{
  display:flex;align-items:center;gap:9px;
  white-space:nowrap;text-decoration:none;
  flex-shrink:0;height:100%;
}
.logo-icon{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,#2585e6,#5dadf3);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:bold;font-size:15px;
  flex-shrink:0;
}
.logo-text{display:flex;flex-direction:column;justify-content:center;height:38px}
.logo-name{color:#1d2129;font-size:16px;font-weight:bold;letter-spacing:.3px;line-height:1.25}
.logo-slogan{color:#8b95a3;font-size:10px;line-height:1.4;letter-spacing:.4px;margin-top:1px}

.search-box{
  flex:1;display:flex;align-items:center;
  background:#f4f6fa;border:1px solid var(--border);
  border-radius:4px;overflow:hidden;
  max-width:480px;height:32px;padding-left:10px;
}
.search-box-icon{color:#8b95a3;font-size:14px;margin-right:6px;flex-shrink:0}
.search-box input{
  flex:1;border:none;background:transparent;outline:none;
  padding:0 6px;font-size:13px;color:#222;min-width:0;height:100%;
}
.search-box input::placeholder{color:#a8b1bd}
.search-btn{
  background:var(--blue);color:#fff;border:none;
  padding:0 16px;font-size:13px;height:100%;
  flex-shrink:0;border-radius:0;
}
.search-btn:hover{background:var(--blue-d)}

.header-nav{display:flex;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
.btn-ai,.btn-pub{
  display:inline-flex;align-items:center;gap:3px;
  padding:5px 12px;border-radius:4px;font-size:13px;
  border:1px solid var(--border);background:#fff;color:#5a6470;
  height:32px;
}
.btn-ai{color:var(--blue);border-color:#bcd9f5}
.btn-ai:hover{background:var(--blue-l)}
.btn-pub:hover{border-color:var(--blue);color:var(--blue)}
.btn-login{
  background:var(--blue);color:#fff!important;
  padding:6px 14px;border-radius:4px;font-size:13px;height:32px;
  display:inline-flex;align-items:center;
}
.btn-login:hover{background:var(--blue-d)}
.btn-admin{
  background:#ff9500;color:#fff!important;
  padding:6px 12px;border-radius:4px;font-size:13px;height:32px;
  display:inline-flex;align-items:center;
}
.btn-user{
  display:inline-flex!important;align-items:center;gap:5px;
  color:#222!important;font-size:13px;padding:0 8px;
}
.btn-user img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.btn-logout{color:#8b95a3!important;font-size:13px;padding:0 6px}
.btn-logout:hover{color:var(--blue)!important}

/* ── 主体布局 ── */
.wrap{
  max-width:1200px;margin:0 auto;
  display:flex;padding:10px 0;gap:10px;
  align-items:flex-start;
}
.left-sidebar{width:158px;flex-shrink:0}
.main-content{flex:1;min-width:0}
.right-sidebar{width:240px;flex-shrink:0}

/* ── 左侧版块导航 ── */
.left-menu{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;overflow:hidden;margin-bottom:8px;
}
.left-menu-head{
  padding:8px 12px;font-size:12px;color:#8b95a3;
  border-bottom:1px solid var(--border);background:#fafbfc;
}
.left-menu-item{
  display:block;padding:8px 12px;
  font-size:13px;color:#3c4858;
  border-bottom:1px solid #f3f5f7;
  transition:all .12s;line-height:1.3;
}
.left-menu-item:last-child{border-bottom:none}
.left-menu-item:hover{background:var(--blue-bg);color:var(--blue)}
.left-menu-item.active{
  background:var(--blue);color:#fff;
  border-left:3px solid var(--blue-d);
  padding-left:9px;
}
.left-menu-item .ic{font-size:13px;margin-right:5px;color:#8b95a3}
.left-menu-item.active .ic{color:#fff}

/* 侧边栏底部 4 按钮（蓝色描边方框） */
.left-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;
  margin-bottom:8px;padding:0;
}
.left-grid-btn{
  display:flex;align-items:center;justify-content:center;
  padding:7px 0;
  border:1px solid #4a9def;border-radius:4px;
  background:#fff;color:#4a9def;font-size:12px;
  text-decoration:none;
}
.left-grid-btn:hover{background:#4a9def;color:#fff}

/* 侧边栏社交（2x1 蓝色背景） */
.left-social{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;
  background:transparent;border:none;border-radius:0;
}
.social-item{
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:8px 0;border-radius:4px;
  background:#4a9def;color:#fff;font-size:12px;
  border-bottom:none;cursor:pointer;text-decoration:none;
  transition:opacity .15s;
}
.social-item:hover{opacity:.88;color:#fff;background:#4a9def}
.social-item .ic{font-size:14px;color:#fff}

/* 侧边栏文字广告位（独立卡片，与上方投稿/商务合作分开） */
.left-text-ads{
  margin-top:10px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:4px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.02);
}
.left-text-ads::before{
  content:"站长推荐";
  display:block;
  padding:7px 12px;
  font-size:12px;
  color:#8b95a3;
  background:linear-gradient(180deg,#fafbfc,#f4f6f9);
  border-bottom:1px solid var(--border);
  font-weight:500;
  letter-spacing:.3px;
}
.left-text-ads .left-menu-item{
  position:relative;
  padding-left:20px;
  font-size:12px;
  color:#5a6470;
}
.left-text-ads .left-menu-item::before{
  content:"";
  position:absolute;
  left:10px;
  top:50%;
  width:4px;height:4px;
  border-radius:50%;
  background:#cfd8e3;
  transform:translateY(-50%);
}
.left-text-ads .left-menu-item:hover::before{background:var(--blue)}

/* ── 公告条 ── */
.notice-bar{
  background:#fff;border:1px solid #ffe2c4;
  border-left:3px solid #ff8c1a;
  padding:7px 12px;border-radius:3px;margin-bottom:8px;
  font-size:12px;color:#5a6470;
  display:flex;align-items:center;gap:6px;
  overflow:hidden;
}
.notice-bar a{color:#ff7a00}
.notice-bar a:hover{text-decoration:underline}
.notice-bar-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}

/* ──────────────────────────────────────────────────
   广告位（两种比例）
   - 中型广告 2:1（hero / 文章间） → aspect-ratio:2.03
   - 窄横条 8.6:1（底部 / 详情上下）→ aspect-ratio:8.64
─────────────────────────────────────────────────── */
.ad-banner{margin-bottom:6px;border-radius:4px;overflow:hidden;line-height:0;background:#fff}
.ad-banner a{display:block;line-height:0}
.ad-banner.ad-text a{padding:9px 14px;font-size:13px;color:#fff;background:linear-gradient(135deg,#1d2535,#0f1d35);text-align:center;line-height:1.5}
.ad-banner a:hover{opacity:.95}

/* hero 顶部 + 文章间：2:1 大横幅 */
#ads-hero .ad-banner,
.ad-between-thread{
  margin-bottom:6px;border:1px solid var(--border);
  border-radius:4px;overflow:hidden;line-height:0;
  aspect-ratio:2.03/1;
}
#ads-hero .ad-banner img,
.ad-between-thread img,
.ad-between-thread a > img{
  display:block !important;
  width:100% !important;height:100% !important;
  object-fit:cover !important;
  border-radius:0 !important;
}
.ad-between-thread{margin:0 0 1px 0;aspect-ratio:auto}
.ad-between-thread > *{display:block;line-height:0}
.ad-between-thread img{height:auto !important;aspect-ratio:2.03/1 !important;object-fit:cover !important}

/* 底部 + 详情上下：8.6:1 窄横条 */
.ad-banner-strip,
.ad-banners-detail .ad-banner-item,
.footer-ad-item{
  border:1px solid var(--border);
  border-radius:3px;overflow:hidden;line-height:0;
  aspect-ratio:8.64/1;
}
.ad-banners-detail .ad-banner-item img,
.footer-ad-item img,
.ad-banner-strip img{
  display:block !important;
  width:100% !important;height:100% !important;
  object-fit:cover !important;
  border-radius:0 !important;
}
.ad-banners-detail{display:flex;flex-direction:column;gap:3px;margin:10px 0}
.ad-banners-detail .ad-banner-item a{display:block !important;line-height:0 !important;height:100%}
.ad-banners-detail .ad-banner-item a.ad-text-link{
  padding:0 14px !important;font-size:13px;color:#fff;
  background:linear-gradient(90deg,#1d2535,#0f1d35);
  text-align:center;line-height:1.5 !important;
  display:flex !important;align-items:center;justify-content:center;
}
.footer-ads{max-width:1200px;margin:0 auto 10px;padding:0 10px;display:flex;flex-direction:column;gap:4px}
/* 内嵌主列的底部广告（与文章列表同宽） */
.footer-ads-inline{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.footer-ads-inline .footer-ad-item{margin-bottom:0}
.footer-ad-item a{display:block !important;line-height:0 !important;height:100%}
.footer-ad-item.ad-text{aspect-ratio:auto !important;border:1px solid var(--border)}
.footer-ad-item.ad-text a{padding:9px 14px !important;font-size:13px;color:#fff;background:linear-gradient(90deg,#1d2535,#0f1d35);text-align:center;display:block !important;line-height:1.5 !important;height:auto !important;aspect-ratio:auto !important}

/* ── 论坛帖子列表 ── */
.thread-list{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;overflow:hidden;margin-bottom:8px;
}
.thread-list-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 14px;background:#fafbfc;
  border-bottom:1px solid var(--border);
  font-size:13px;color:#5a6470;
}
.thread-list-head .tabs{display:flex;gap:0}
.thread-list-head .tab{
  padding:0 10px;font-size:13px;color:#5a6470;cursor:pointer;
  border-right:1px solid #e8eaed;line-height:1;
}
.thread-list-head .tab:last-child{border-right:none}
.thread-list-head .tab.active{color:var(--blue);font-weight:500}

/* 单条帖子（楼层式） */
.thread-row{
  display:flex;gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #f0f3f7;
  transition:background .1s;
  align-items:flex-start;
}
.thread-row:last-child{border-bottom:none}
.thread-row:hover{background:#fafbfd}

/* 状态标签 */
.thread-tags{display:inline-flex;gap:4px;margin-right:5px;flex-shrink:0;align-items:center}
.tag-mark{
  display:inline-block;padding:1px 4px;
  font-size:11px;line-height:1.4;border-radius:2px;
  font-weight:500;letter-spacing:.5px;
}
.tag-pin{background:#ffe9d4;color:#d2691e;border:1px solid #ffd9b3}
.tag-essence{background:#fff4d4;color:#b88800;border:1px solid #ffe9b3}
.tag-hot{background:#ffe4e4;color:var(--hot);border:1px solid #ffcaca}
.tag-new{background:#e1f5ec;color:#16a37a;border:1px solid #c8ebda}

/* 主体区 */
.thread-body{flex:1;min-width:0}
.thread-title-line{
  display:flex;align-items:flex-start;gap:6px;
  margin-bottom:8px;flex-wrap:wrap;
}
.thread-title{
  font-size:14px;color:#1d2129;
  font-weight:600;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;flex:1;min-width:200px;
}
.thread-row:hover .thread-title{color:var(--blue)}

/* 三联图 */
.thread-imgs{
  display:flex;gap:3px;margin-bottom:8px;
  border-radius:3px;overflow:hidden;
}
.thread-img-wrap{flex:1;position:relative;aspect-ratio:4/3;overflow:hidden;background:#f0f3f7;min-width:0}
.thread-img-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.thread-img-wrap:hover img{transform:scale(1.04)}
.thread-img-ph{
  width:100%;height:100%;
  background:linear-gradient(135deg,#e8eef5,#d3dde8);
  display:flex;align-items:center;justify-content:center;
  color:#a8b5c5;font-size:24px;
}
.thread-img-play{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.85);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;color:#222;pointer-events:none;
}
.thread-img-badge{
  position:absolute;bottom:4px;right:4px;
  background:linear-gradient(135deg,#ff5a4d,#e8282a);
  color:#fff;font-size:10px;font-weight:bold;
  padding:1px 5px;border-radius:2px;
}

/* 元信息行 */
.thread-meta{
  display:flex;align-items:center;gap:14px;
  font-size:12px;color:#8b95a3;flex-wrap:wrap;
}
.thread-author{
  display:flex;align-items:center;gap:5px;
  color:var(--blue);
}
.thread-author:hover{text-decoration:underline}
.thread-author-ava{
  width:18px;height:18px;border-radius:50%;
  background:linear-gradient(135deg,#bcd9f5,#5da9f0);
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff;font-size:9px;font-weight:bold;
  flex-shrink:0;overflow:hidden;
}
.thread-author-ava img{width:100%;height:100%;object-fit:cover}
.thread-meta-item{display:flex;align-items:center;gap:3px;color:#8b95a3}
.thread-meta-item .ic{font-size:12px;color:#a8b1bd}
.thread-views-num{color:#ff7a00;font-weight:500}
.thread-tag-link{
  margin-left:auto;color:var(--blue);font-size:11px;
  padding:1px 7px;background:var(--blue-l);
  border-radius:2px;border:1px solid #d0e4f8;
}
.thread-tag-link:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ── 分页 ── */
.pagination{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;padding:10px;
  display:flex;align-items:center;justify-content:center;
  gap:4px;flex-wrap:wrap;margin-bottom:8px;
}
.page-item{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:30px;height:30px;padding:0 8px;
  border:1px solid var(--border);border-radius:3px;
  color:#5a6470;font-size:12px;background:#fff;
}
.page-item:hover{border-color:var(--blue);color:var(--blue)}
.page-item.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.page-jump{display:flex;align-items:center;gap:5px;font-size:12px;color:#8b95a3;margin-left:8px}
.page-jump input{
  width:48px;border:1px solid var(--border);border-radius:3px;
  padding:5px 6px;text-align:center;font-size:12px;outline:none;
}
.page-jump input:focus{border-color:var(--blue)}
.jump-btn{
  padding:5px 10px;background:var(--blue);color:#fff;
  border-radius:3px;font-size:12px;
}

/* ── 标签云区块 ── */
.section-block{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;overflow:hidden;margin-bottom:8px;
}
.section-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:9px 14px;border-bottom:1px solid var(--border);
  background:#fafbfc;
}
.section-head h2{font-size:13px;color:#1d2129;font-weight:bold}
.section-head .more{
  font-size:12px;color:var(--blue);
  display:inline-flex;align-items:center;gap:2px;
}
.tag-cloud{padding:10px 12px;display:flex;flex-wrap:wrap;gap:5px}
.tag-cloud a{
  background:#fff;border:1px solid var(--border);
  color:#5a6470;padding:3px 9px;font-size:12px;
  border-radius:2px;display:inline-block;
}
.tag-cloud a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ── 标签页 ── */
.page-header{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;padding:12px 14px;margin-bottom:8px;
}
.page-header h1{font-size:16px;color:#1d2129;font-weight:bold}
.page-header p{font-size:12px;color:#8b95a3;margin-top:4px}
.tag-section{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;overflow:hidden;margin-bottom:8px;
}
.tag-section-head{
  padding:10px 14px;background:#fafbfc;
  border-bottom:1px solid var(--border);
  font-size:13px;font-weight:bold;color:#1d2129;
}
.tag-cloud-full{padding:12px;display:flex;flex-wrap:wrap;gap:5px}
.tag-item{
  background:#fff;border:1px solid var(--border);
  color:#5a6470;padding:4px 10px;font-size:12px;
  border-radius:2px;display:inline-block;cursor:pointer;
}
.tag-item:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.tag-item.hot{background:#fff5f5;border-color:#ffd5d5;color:var(--hot)}
.tag-item.hot:hover{background:var(--hot);color:#fff;border-color:var(--hot)}

/* ── 分类页头部 ── */
.cat-header{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;padding:9px 14px;
  margin-bottom:6px;display:flex;align-items:center;gap:10px;
}
.cat-badge{
  background:var(--blue);color:#fff;
  padding:3px 10px;border-radius:2px;
  font-size:13px;font-weight:bold;
}
.cat-count{font-size:12px;color:#8b95a3;margin-left:auto}
.view-toggle{display:flex;gap:1px;border:1px solid var(--border);border-radius:3px;overflow:hidden}
.view-btn{
  width:28px;height:26px;display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:14px;color:#8b95a3;background:#fff;
}
.view-btn:hover{background:var(--blue-l);color:var(--blue)}
.view-btn.active{background:var(--blue);color:#fff}

.sort-bar{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;padding:7px 12px;margin-bottom:6px;
  display:flex;align-items:center;gap:6px;font-size:12px;
}
.sort-bar > span{color:#8b95a3}
.sort-btn{
  padding:3px 10px;border-radius:2px;
  border:1px solid var(--border);background:#fff;
  color:#5a6470;font-size:12px;
}
.sort-btn:hover,.sort-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ── 网格视图 ── */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}
.grid-card{
  background:#fff;border:1px solid var(--border);
  border-radius:3px;overflow:hidden;
}
.grid-card:hover{border-color:#bcd9f5}
.grid-card:hover .grid-title{color:var(--blue)}
.grid-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#e8eef5}
.grid-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.grid-card:hover .grid-thumb img{transform:scale(1.04)}
.grid-thumb-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#a8b5c5;font-size:24px}
.grid-play{
  position:absolute;bottom:5px;right:5px;
  background:rgba(255,255,255,.85);color:#222;border-radius:50%;
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:10px;
}
.grid-info{padding:7px 9px}
.grid-title{font-size:12px;color:#1d2129;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px;font-weight:500}
.grid-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:#8b95a3}
.grid-views{color:#ff7a00}

/* ── 右侧热榜 ── */
.hot-rank{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;overflow:hidden;margin-bottom:8px;
}
.hot-rank-head{
  padding:9px 14px;background:#fafbfc;
  border-bottom:1px solid var(--border);
  font-size:13px;color:#1d2129;font-weight:bold;
  display:flex;align-items:center;gap:5px;
}
.hot-rank-head .ic{color:var(--hot);font-size:14px}
.rank-tabs{display:flex;border-bottom:1px solid var(--border)}
.rank-tab{
  flex:1;text-align:center;padding:8px;
  font-size:12px;color:#5a6470;cursor:pointer;
  border-right:1px solid var(--border);
}
.rank-tab:last-child{border-right:none}
.rank-tab.active{background:var(--blue);color:#fff}
.rank-tab:not(.active):hover{background:var(--blue-bg);color:var(--blue)}
.rank-list{padding:0}
.rank-item{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;border-bottom:1px solid #f3f5f7;
  cursor:pointer;
}
.rank-item:hover{background:var(--blue-bg)}
.rank-item:last-child{border-bottom:none}
.rank-num{
  width:18px;text-align:center;
  font-style:italic;font-weight:bold;
  font-size:14px;flex-shrink:0;
  color:#a8b1bd;
}
.rank-num.top1{color:#e8a300;font-size:16px}
.rank-num.top2{color:#a8b1bd;font-size:15px}
.rank-num.top3{color:#cc7a3d;font-size:14px}
.rank-avatar{
  width:32px;height:32px;border-radius:50%;
  overflow:hidden;flex-shrink:0;
  background:linear-gradient(135deg,#bcd9f5,#5da9f0);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:12px;font-weight:bold;
}
.rank-avatar img{width:100%;height:100%;object-fit:cover}
.rank-avatar-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.rank-info{flex:1;min-width:0}
.rank-name{
  font-size:12px;color:var(--blue);
  font-weight:500;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;display:block;
}
.rank-name:hover{text-decoration:underline}
.rank-fans{font-size:11px;color:#a8b1bd;margin-top:1px}
.rank-more{
  display:block;text-align:center;padding:8px;
  font-size:12px;color:var(--blue);
  border-top:1px solid var(--border);
}
.rank-more:hover{color:var(--blue-d);background:var(--blue-bg)}

/* ── 博主榜单（全列表）── */
.rank-full-list{background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden}
.rank-full-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;border-bottom:1px solid #f3f5f7;
  cursor:pointer;
}
.rank-full-item:hover{background:var(--blue-bg)}
.rank-full-item:last-child{border-bottom:none}
.rank-num-big{
  width:30px;text-align:center;font-style:italic;font-weight:bold;
  font-size:18px;flex-shrink:0;color:#cfd8e3;
}
.rank-num-big.top1{color:#e8a300;font-size:20px}
.rank-num-big.top2{color:#a8b1bd;font-size:19px}
.rank-num-big.top3{color:#cc7a3d;font-size:18px}
.rank-avatar-big{
  width:48px;height:48px;border-radius:50%;
  overflow:hidden;flex-shrink:0;
  background:linear-gradient(135deg,#bcd9f5,#5da9f0);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:18px;font-weight:bold;
}
.rank-avatar-big img{width:100%;height:100%;object-fit:cover}
.rank-info-full{flex:1;min-width:0}
.rank-name-full{
  font-size:14px;font-weight:bold;color:var(--blue);
  margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.rank-bio{font-size:12px;color:#8b95a3;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-stats-row{display:flex;gap:14px;font-size:12px;color:#8b95a3}
.rank-stats-row strong{color:#ff7a00}
.rank-sub-btn{
  padding:5px 14px;border-radius:3px;
  border:1px solid var(--blue);color:var(--blue);
  font-size:12px;flex-shrink:0;background:#fff;
}
.rank-sub-btn:hover{background:var(--blue);color:#fff}

/* ── 搜索页 ── */
.search-bar{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;padding:10px 14px;margin-bottom:6px;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.search-keyword{font-size:14px;font-weight:bold;color:#1d2129}
.search-keyword em{color:var(--hot);font-style:normal}
.search-count{font-size:12px;color:#8b95a3;margin-top:3px}
.search-type-tabs{display:flex;gap:0;margin-left:auto;border:1px solid var(--border);border-radius:3px;overflow:hidden}
.stype-btn{
  padding:5px 12px;border-right:1px solid var(--border);
  font-size:12px;color:#5a6470;background:#fff;cursor:pointer;
}
.stype-btn:last-child{border-right:none}
.stype-btn:hover{background:var(--blue-bg);color:var(--blue)}
.stype-btn.active{background:var(--blue);color:#fff}

.author-card{
  display:flex;align-items:center;gap:12px;
  background:#fff;padding:12px 14px;
  border:1px solid var(--border);
  border-bottom:none;cursor:pointer;
}
.author-card:first-of-type{border-radius:4px 4px 0 0}
.author-card:last-of-type{border-bottom:1px solid var(--border);border-radius:0 0 4px 4px;margin-bottom:6px}
.author-card:hover{background:var(--blue-bg)}
.a-avatar{
  width:46px;height:46px;border-radius:50%;
  overflow:hidden;flex-shrink:0;
  background:linear-gradient(135deg,#bcd9f5,#5da9f0);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:18px;font-weight:bold;
}
.a-avatar img{width:100%;height:100%;object-fit:cover}
.a-info{flex:1;min-width:0}
.a-name{font-size:13px;font-weight:bold;color:#1d2129;margin-bottom:3px}
.a-name em{color:var(--hot);font-style:normal}
.a-bio{font-size:12px;color:#8b95a3;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.a-stats{font-size:12px;color:#8b95a3}
.a-stats span{color:var(--blue);font-weight:500}
.a-sub-btn{
  padding:5px 14px;border-radius:3px;
  border:1px solid var(--blue);color:var(--blue);
  font-size:12px;flex-shrink:0;background:#fff;
}
.a-sub-btn:hover{background:var(--blue);color:#fff}

/* ── 作者主页 ── */
.author-profile{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;padding:18px 20px;margin-bottom:8px;
}
.author-profile-top{display:flex;gap:16px;align-items:flex-start;margin-bottom:14px;flex-wrap:wrap}
.author-big-avatar{
  width:72px;height:72px;border-radius:50%;
  overflow:hidden;flex-shrink:0;
  background:linear-gradient(135deg,#bcd9f5,#5da9f0);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:26px;font-weight:bold;
}
.author-big-avatar img{width:100%;height:100%;object-fit:cover}
.author-profile-info{flex:1;min-width:160px}
.author-profile-name{font-size:18px;font-weight:bold;color:#1d2129;margin-bottom:4px}
.author-profile-bio{font-size:12px;color:#8b95a3;margin-bottom:10px;line-height:1.6}
.author-profile-stats{display:flex;gap:24px}
.stat-item{text-align:center}
.stat-num{font-size:18px;font-weight:bold;color:var(--blue)}
.stat-label{font-size:11px;color:#a8b1bd;margin-top:2px}
.btn-sub{
  background:var(--blue);color:#fff;border:none;
  padding:7px 22px;border-radius:3px;font-size:12px;
  margin-left:auto;align-self:flex-start;
}
.btn-sub:hover{background:var(--blue-d)}
.btn-subscribed,.btn-sub.subbed{background:#a8b1bd!important}
.author-tabs{display:flex;border-bottom:1px solid var(--border);margin:0 -20px -18px}
.author-tab{
  padding:10px 20px;font-size:13px;color:#5a6470;
  border-bottom:2px solid transparent;margin-bottom:-1px;
  display:block;
}
.author-tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}

/* ── 登录页 ── */
.login-wrap{
  min-height:calc(100vh - 56px);
  display:flex;align-items:center;justify-content:center;
  padding:30px 15px;background:var(--bg);
}
.login-box{
  background:#fff;border:1px solid var(--border);
  border-radius:4px;width:100%;max-width:380px;overflow:hidden;
}
.login-tabs{display:flex;border-bottom:1px solid var(--border)}
.login-tab{
  flex:1;display:block;text-align:center;
  padding:14px;font-size:14px;color:#5a6470;
  font-weight:500;cursor:pointer;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.login-tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.login-body{padding:24px}
.notice-tip{
  background:var(--blue-bg);border:1px solid #d0e4f8;
  border-radius:3px;padding:9px 12px;
  margin-bottom:14px;font-size:12px;color:var(--blue-d);line-height:1.7;
}
.notice-tip a{color:var(--hot)}
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:12px;color:#5a6470;margin-bottom:5px}
.form-group input{
  width:100%;border:1px solid var(--border);border-radius:3px;
  padding:9px 12px;font-size:13px;outline:none;color:#222;
}
.form-group input:focus{border-color:var(--blue)}
.form-options{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;font-size:12px;
}
.form-check{display:flex;align-items:center;gap:5px;color:#8b95a3}
.form-forgot{color:var(--blue)}
.form-forgot:hover{text-decoration:underline}
.btn-submit{
  width:100%;background:var(--blue);color:#fff;
  border:none;border-radius:3px;padding:10px;
  font-size:14px;font-weight:500;cursor:pointer;
}
.btn-submit:hover{background:var(--blue-d)}
.form-tip{text-align:center;font-size:12px;color:#a8b1bd;margin-top:14px}
.form-tip a{color:var(--blue)}
.form-terms{font-size:12px;color:#a8b1bd;text-align:center;margin-top:8px}
.form-terms a{color:var(--blue)}

/* ── 页脚 ── */
footer{
  background:#fff;border-top:1px solid var(--border);
  color:#8b95a3;padding:16px 0 12px;margin-top:6px;
}
.footer-inner{max-width:1200px;margin:0 auto;padding:0 14px}
.footer-top{display:flex;gap:24px;margin-bottom:14px;flex-wrap:wrap}
.footer-quick{display:flex;flex-wrap:wrap;gap:6px}
.footer-quick a{
  display:inline-flex;align-items:center;gap:4px;
  padding:5px 12px;background:var(--blue-bg);
  border:1px solid #d0e4f8;border-radius:3px;
  color:var(--blue);font-size:12px;
}
.footer-quick a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.footer-quick-icon{font-size:13px}
.footer-desc{color:#8b95a3;font-size:12px;line-height:1.85;flex:1}
.footer-desc p{margin-bottom:2px}
.footer-desc a{color:var(--blue)}
.footer-share-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}
.share-tag{background:#f4f6fa;padding:3px 9px;border-radius:2px;font-size:12px;color:#5a6470;cursor:pointer;border:1px solid var(--border)}
.share-tag:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.footer-nav-list{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0;justify-content:center}
.footer-nav-list a{color:#8b95a3;font-size:12px}
.footer-nav-list a:hover{color:var(--blue)}
.footer-bottom{text-align:center;color:#a8b1bd;font-size:12px;border-top:1px solid #f3f5f7;padding-top:10px}
.footer-bottom a{color:#8b95a3}

/* ── 公共底部信息卡（首页/详情共享）── */
.page-footer-links{background:#fff;border:1px solid var(--border);border-radius:4px;padding:16px 18px;margin-bottom:8px}
.footer-quick-nav{display:flex;justify-content:space-around;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #f3f5f7}
.fq-item{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;color:#5a6470;font-size:12px;text-decoration:none;flex:1}
.fq-item:hover{color:var(--blue)}
.fq-icon{width:42px;height:42px;border-radius:50%;background:var(--blue-bg);display:flex;align-items:center;justify-content:center;transition:background .15s}
.fq-icon .ic{font-size:20px;color:var(--blue)}
.fq-item:hover .fq-icon{background:var(--blue)}
.fq-item:hover .fq-icon .ic{color:#fff}
.footer-site-info{font-size:12px;color:#5a6470;line-height:1.95;margin-bottom:12px}
.footer-site-info h3{font-size:13px;font-weight:600;color:#1d2129;margin-bottom:5px}
.footer-site-info a{color:var(--blue)}
.footer-site-info p{margin-bottom:2px}
.footer-share-row{display:flex;gap:6px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #f3f5f7;align-items:center}
.footer-share-btns{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #f3f5f7}
.footer-share-btn{display:inline-flex;align-items:center;gap:3px;padding:5px 11px;border-radius:2px;font-size:11px;color:#fff;cursor:pointer;border:none;text-decoration:none}
.fsb-copy{background:#5a6470}
.fsb-fb{background:#1877f2}
.fsb-tg{background:#229ed9}
.fsb-wc{background:#07c160}
.fsb-x{background:#000}
.fsb-db{background:#007722}
.fsb-qz{background:#f5a623}
.fsb-wb{background:#df2029}
.footer-share-btn:hover{opacity:.85}
.footer-nav-links{display:flex;flex-direction:column;border-bottom:1px solid #f3f5f7;margin-bottom:12px}
.fnl-item{padding:10px 0;border-top:1px solid #f3f5f7;font-size:13px;color:#3c4858;cursor:pointer;display:flex;align-items:center;justify-content:space-between;text-decoration:none}
.fnl-item:hover{color:var(--blue)}
.fnl-item .ic{font-size:11px;color:#cfd8e3}
.footer-legal{display:flex;justify-content:center;flex-wrap:wrap;font-size:12px;color:#8b95a3;padding-top:10px;margin-bottom:8px;border-top:1px solid #f3f5f7}
.footer-legal a{color:#8b95a3;padding:0 10px;border-right:1px solid #e3eaf2;text-decoration:none}
.footer-legal a:last-child{border-right:none}
.footer-legal a:hover{color:var(--blue)}
.footer-copyright{text-align:center;font-size:11px;color:#a8b1bd;line-height:1.7;padding-top:6px}
.footer-copyright a{color:var(--blue)}

/* ── 工具类 ── */
.alert-error{background:#fff5f5;border:1px solid #ffd5d5;color:var(--hot);padding:9px 12px;border-radius:3px;margin:10px 0;font-size:12px}
.alert-success{background:#f0fff4;border:1px solid #b7f5c4;color:#0d8a4a;padding:9px 12px;border-radius:3px;margin:10px 0;font-size:12px}
.toast{
  position:fixed;bottom:30px;left:50%;
  transform:translateX(-50%) translateY(16px);
  background:rgba(29,33,41,.92);color:#fff;
  padding:9px 18px;border-radius:3px;font-size:13px;
  opacity:0;transition:all .25s;z-index:9999;pointer-events:none;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.empty-tip{
  background:#fff;border:1px solid var(--border);border-radius:4px;
  padding:50px 20px;text-align:center;color:#a8b1bd;margin-bottom:8px;
}
.empty-tip .icon{font-size:32px;margin-bottom:10px;color:#cfd8e3}
.empty-tip p{font-size:13px}

/* ── 响应式 ── */
@media(max-width:1100px){.right-sidebar{width:200px}}
@media(max-width:900px){.right-sidebar{display:none}.left-sidebar{display:none}.main-content{padding:0}}
@media(max-width:640px){
  .header-inner{flex-wrap:wrap;padding:6px 10px;height:auto;gap:8px}
  .search-box{order:3;width:100%;max-width:100%}
  .article-grid{grid-template-columns:repeat(2,1fr)}
  .wrap{padding:5px 0}
}
@media(max-width:400px){.article-grid{grid-template-columns:1fr}}

/* 首页宫格弹窗（APP 推荐 - 4×4 网格，图标为主） */
.grid-pop-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px}
.grid-pop-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 2px;color:#1d2129;text-decoration:none;border-radius:8px;transition:background .15s;line-height:1.25}
.grid-pop-item:hover{background:#f4f6fa}
.grid-pop-item img{width:68px;height:68px;border-radius:16px;object-fit:cover;display:block;background:#eef1f5;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.grid-pop-item div{font-size:11px;margin-top:6px;color:#333;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
