
/* ============================================
   27. 娓告垙搴撻〉闈?v2.0
   ============================================ */

/* 椤甸潰澶撮儴 Hero */
.gp-library-hero{
  position:relative;margin-top:0;
  min-height:220px;overflow:hidden;
  background:linear-gradient(135deg,#0a0e17,#131a2a,#1a1030);
}
.gp-library-hero-bg{
  position:absolute;inset:0;opacity:0.08;
  background:radial-gradient(ellipse at 30% 50%,var(--gp-primary) 0%,transparent 60%),
             radial-gradient(ellipse at 70% 50%,var(--gp-secondary) 0%,transparent 60%);
}
.gp-library-hero-inner{
  position:relative;z-index:2;
  padding:var(--gp-space-xl) var(--gp-space);padding-bottom:60px;
}
.gp-library-hero-content{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:var(--gp-space);flex-wrap:wrap;
}
.gp-library-hero-left{flex:1;min-width:260px;}
.gp-library-title{
  font-family:var(--gp-font-heading);font-size:2.2rem;font-weight:800;
  background:linear-gradient(135deg,var(--gp-primary-light),var(--gp-primary));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;margin-bottom:8px;
}
.gp-library-subtitle{
  font-size:0.9rem;color:var(--gp-text-tertiary);line-height:1.6;
}
.gp-library-subtitle strong{color:var(--gp-primary);font-weight:700;}
.gp-library-hero-right{
  display:flex;gap:var(--gp-space-lg);flex-shrink:0;
}
.gp-library-stat{
  text-align:center;min-width:80px;
}
.gp-library-stat-value{
  display:block;font-family:var(--gp-font-mono);
  font-size:1.8rem;font-weight:800;color:var(--gp-primary);
  line-height:1.2;
}
.gp-library-stat-label{
  font-size:0.7rem;color:var(--gp-text-tertiary);
  letter-spacing:0.05em;
}

/* 绛涢€夊伐鍏锋爮 */
.gp-library-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--gp-space-sm);flex-wrap:wrap;
  background:var(--gp-glass-bg);backdrop-filter:blur(var(--gp-glass-blur));
  -webkit-backdrop-filter:blur(var(--gp-glass-blur));
  border:1px solid var(--gp-glass-border);
  border-radius:var(--gp-radius);padding:12px 16px;
  margin-bottom:var(--gp-space-sm);
  position:relative;z-index:100;
}
.gp-library-sorts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.gp-library-sort-label{
  font-size:0.78rem;font-weight:600;color:var(--gp-text-tertiary);
  margin-right:4px;
}
.gp-library-sort{
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 16px;border-radius:var(--gp-radius-full);
  font-size:0.8rem;font-weight:600;color:var(--gp-text-secondary);
  text-decoration:none;transition:all var(--gp-transition);
}
.gp-library-sort:hover{color:var(--gp-text-primary);background:var(--gp-bg-input);}
.gp-library-sort.active{
  background:var(--gp-primary);color:#fff;
  box-shadow:0 2px 8px var(--gp-primary-glow);
}
.gp-library-actions{display:flex;align-items:center;gap:8px;}

/* 骞冲彴绛涢€変笅鎷?*/
.gp-library-filter-dropdown{position:relative;}
.gp-library-filter-btn{
  display:flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:var(--gp-radius-full);
  border:1.5px solid var(--gp-border);background:transparent;
  color:var(--gp-text-secondary);font-size:0.78rem;font-weight:600;
  cursor:pointer;transition:all var(--gp-transition);font-family:inherit;
}
.gp-library-filter-btn:hover{border-color:var(--gp-primary);color:var(--gp-primary);}
.gp-filter-arrow{font-size:0.6rem;transition:transform var(--gp-transition);}
.gp-library-filter-dropdown.open .gp-filter-arrow{transform:rotate(180deg);}
.gp-library-filter-menu{
  position:absolute;right:0;top:calc(100% + 8px);
  min-width:160px;background:var(--gp-bg-elevated);
  border:1px solid var(--gp-border);border-radius:var(--gp-radius);
  padding:6px;box-shadow:var(--gp-shadow-lg);z-index:1000;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:all 0.2s ease;
}
.gp-library-filter-dropdown.open .gp-library-filter-menu{
  opacity:1;visibility:visible;transform:translateY(0);
}
.gp-library-filter-item{
  display:block;padding:8px 14px;font-size:0.8rem;font-weight:500;
  color:var(--gp-text-secondary);text-decoration:none;
  border-radius:var(--gp-radius-xs);transition:all var(--gp-transition);
}
.gp-library-filter-item:hover{background:var(--gp-bg-input);color:var(--gp-text-primary);}
.gp-library-filter-item.active{color:var(--gp-primary);font-weight:700;}

/* 瑙嗗浘鍒囨崲 */
.gp-view-toggle{display:flex;gap:4px;border-radius:var(--gp-radius-full);overflow:hidden;border:1.5px solid var(--gp-border);}
.gp-view-btn{
  width:38px;height:34px;display:flex;align-items:center;justify-content:center;
  border:none;background:transparent;color:var(--gp-text-tertiary);font-size:0.9rem;
  cursor:pointer;transition:all var(--gp-transition);
}
.gp-view-btn:hover{color:var(--gp-text-primary);}
.gp-view-btn.active{background:var(--gp-primary);color:#fff;}

/* 蹇€熷垎绫诲鑸?*/
.gp-library-cats{
  display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--gp-space);
}
.gp-library-cat{
  display:flex;align-items:center;gap:6px;
  padding:7px 16px;border-radius:var(--gp-radius-full);
  font-size:0.8rem;font-weight:600;color:var(--gp-text-secondary);
  text-decoration:none;background:var(--gp-bg-card);
  border:1.5px solid var(--gp-border);transition:all var(--gp-transition);
}
.gp-library-cat:hover{border-color:var(--gp-primary);color:var(--gp-primary);transform:translateY(-1px);}
.gp-library-cat.active{background:var(--gp-primary);color:#fff;border-color:var(--gp-primary);}
.gp-library-cat-count{
  font-size:0.65rem;padding:1px 8px;border-radius:var(--gp-radius-full);
  background:rgba(255,255,255,0.15);font-weight:400;
}
.gp-library-cat.active .gp-library-cat-count{background:rgba(255,255,255,0.25);}

/* 娓告垙鍗＄墖缃戞牸 */
.gp-games-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:var(--gp-space);
}
.gp-games-grid[data-view="list"]{grid-template-columns:1fr;}

/* 鍗曚釜娓告垙鍗＄墖 */
.gp-game-cell{position:relative;}
.gp-game-cell-inner{
  display:flex;flex-direction:column;
  background:var(--gp-bg-card);border:1px solid var(--gp-border);
  border-radius:var(--gp-radius);overflow:hidden;
  text-decoration:none;transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  height:100%;
}
.gp-game-cell-inner:hover{
  transform:translateY(-5px);
  box-shadow:0 12px 40px rgba(0,0,0,0.35),0 0 0 1px var(--gp-primary-glow);
  border-color:var(--gp-primary);
}
/* 鍒楄〃妯″紡涓嬬殑鍗＄墖 */
.gp-games-grid[data-view="list"] .gp-game-cell-inner{
  flex-direction:row;align-items:center;
}
.gp-games-grid[data-view="list"] .gp-game-cell-cover{
  width:240px;aspect-ratio:auto;height:160px;flex-shrink:0;
}
.gp-games-grid[data-view="list"] .gp-game-cell-body{flex:1;}

/* 灏侀潰鍖?*/
.gp-game-cell-cover{
  position:relative;overflow:hidden;aspect-ratio:4/3;
  background:var(--gp-bg-input);
}
.gp-game-cell-cover img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 0.45s ease;
}
.gp-game-cell-inner:hover .gp-game-cell-cover img{transform:scale(1.06);}
.gp-game-cell-placeholder{
  width:100%;height:100%;display:flex;align-items:center;
  justify-content:center;
}

/* 璇勫垎瑙掓爣 */
.gp-rating-badge{
  position:absolute;top:8px;left:8px;z-index:2;
  width:44px;height:44px;border-radius:50%;
  background:rgba(0,0,0,0.7);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--gp-primary);
}
.gp-rating-badge-value{
  font-family:var(--gp-font-mono);font-size:0.8rem;
  font-weight:800;color:var(--gp-primary);
}

/* 鍗＄墖寰界珷 */
.gp-cell-badge{
  position:absolute;top:8px;width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.65rem;color:#fff;z-index:2;
}
.gp-cell-badge.top{right:8px;background:#ef4444;}
.gp-cell-badge.rec{right:8px;background:#f59e0b;}

/* 鍗＄墖淇℃伅鍖?*/
.gp-game-cell-body{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1;}
.gp-game-cell-title{
  font-family:var(--gp-font-heading);font-size:0.95rem;font-weight:700;
  color:var(--gp-text-primary);line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.gp-game-cell-inner:hover .gp-game-cell-title{color:var(--gp-primary);}
.gp-game-cell-meta{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;font-size:0.72rem;color:var(--gp-text-tertiary);
}
.gp-game-cell-type{display:flex;align-items:center;gap:4px;}
.gp-game-cell-date{font-family:var(--gp-font-mono);}
.gp-game-cell-footer{
  display:flex;align-items:center;justify-content:space-between;
  gap:6px;margin-top:auto;
}
.gp-game-cell-platforms{display:flex;gap:3px;flex-wrap:wrap;}
.gp-game-cell-platforms span{
  font-size:0.6rem;font-weight:600;padding:2px 7px;
  border-radius:3px;background:var(--gp-bg-input);color:var(--gp-text-tertiary);
}
.gp-game-cell-stars{display:flex;align-items:center;gap:4px;}

/* 杩蜂綘鏄熺骇璇勫垎 */
.gp-mini-stars{
  position:relative;display:inline-block;width:60px;height:12px;
}
.gp-mini-stars::before{
  content:'鈽呪槄鈽呪槄鈽?;position:absolute;inset:0;
  font-size:12px;line-height:1;letter-spacing:1px;
  color:var(--gp-border);
}
.gp-mini-stars-fill{
  position:absolute;inset:0;overflow:hidden;width:var(--rating,0%);
}
.gp-mini-stars-fill::before{
  content:'鈽呪槄鈽呪槄鈽?;position:absolute;inset:0;
  font-size:12px;line-height:1;letter-spacing:1px;
  color:var(--gp-primary);
}

/* 绌虹姸鎬?*/
.gp-empty-state{
  text-align:center;padding:60px 20px;
}
.gp-empty-icon{font-size:4rem;margin-bottom:16px;opacity:0.5;}
.gp-empty-state h3{
  font-family:var(--gp-font-heading);font-size:1.2rem;
  color:var(--gp-text-primary);margin-bottom:8px;
}
.gp-empty-state p{font-size:0.85rem;color:var(--gp-text-tertiary);}

/* 鍒嗛〉澧炲己 */
.gp-page-ellipsis{
  display:flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;color:var(--gp-text-tertiary);
  font-weight:700;font-size:0.85rem;user-select:none;
}

/* ============================================
   28. 娓告垙搴撻〉闈㈠搷搴斿紡
   ============================================ */
@media(max-width:1399px){
  .gp-games-grid{grid-template-columns:repeat(3,1fr);}
  .gp-library-hero-content{flex-direction:column;align-items:flex-start;}
  .gp-library-hero-right{gap:var(--gp-space);}
  .gp-library-title{font-size:1.8rem;}
}
@media(max-width:1023px){
  .gp-games-grid{grid-template-columns:repeat(2,1fr);}
  .gp-library-toolbar{flex-direction:column;align-items:stretch;}
  .gp-library-actions{justify-content:space-between;}
  .gp-library-hero-inner{padding-bottom:50px;}
}
@media(max-width:767px){
  .gp-games-grid{grid-template-columns:repeat(2,1fr);gap:var(--gp-space-sm);}
  .gp-library-hero{min-height:160px;}
  .gp-library-hero-inner{padding:var(--gp-space) var(--gp-space-sm);padding-bottom:50px;}
  .gp-library-title{font-size:1.5rem;}
  .gp-library-subtitle{font-size:0.78rem;}
  .gp-library-hero-right{width:100%;justify-content:space-around;}
  .gp-library-stat-value{font-size:1.3rem;}
  .gp-library-sorts{width:100%;justify-content:center;}
  .gp-library-sort{padding:5px 12px;font-size:0.72rem;}
  .gp-library-toolbar{padding:10px 12px;}
  .gp-library-cats{gap:4px;}
  .gp-library-cat{padding:5px 12px;font-size:0.72rem;}
  .gp-game-cell-title{font-size:0.82rem;}
  .gp-games-grid[data-view="list"] .gp-game-cell-cover{width:140px;height:105px;}
}

/* ====== 鍙闂€э細璺宠繃瀵艰埅 ====== */
.gp-skip-link{position:absolute;top:-100px;left:50%;transform:translateX(-50%);z-index:10000;background:var(--gp-primary);color:#fff;padding:8px 20px;border-radius:0 0 8px 8px;font-size:0.85rem;font-weight:600;text-decoration:none;transition:top 0.3s;}
.gp-skip-link:focus{top:0;}

/* ====== 婊氬姩杩涘叆鍔ㄧ敾 ====== */
.gp-reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}
.gp-reveal.visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.gp-reveal{transition:none;opacity:1;transform:none;}}

/* ====== 鎵撳嵃鏍峰紡 ====== */
@media print{
  .gp-header,.gp-footer,.gp-mobile-bottom-nav,.gp-back-top,.gp-cookie-bar,.gp-progress-bar{display:none!important;}
  body{background:#fff!important;color:#000!important;}
}



/* 侧边栏小部件样式已在 index.css 中统一定义，此处移除重复 */

/* SEO浼樺寲锛氱‘淇濆浘鐗囨湁灏哄鎻愮ず */
img{height:auto;}
/* 棣栧睆鍐呭浼樺厛娓叉煋 */
.gp-hero,.gp-hero-slide-inner{content-visibility:auto;contain-intrinsic-size:420px;}

/* ====== 楠ㄦ灦灞忓疄鐢ㄧ粍浠讹紙@keyframes gp-shimmer 宸插湪鍏ㄥ眬楠ㄦ灦灞忓尯缁熶竴瀹氫箟锛?====== */
.gp-skeleton-hero{height:280px;margin-bottom:20px;}
.gp-skeleton-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;min-height:100px;}
.gp-skeleton-tile{height:80px;}
.gp-skeleton-section{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;}
.gp-skeleton-card{height:180px;}
.gp-skeleton-wrap{transition:opacity 0.3s ease;}
.gp-skeleton-wrap.hide{opacity:0;pointer-events:none;position:absolute;}
@media(max-width:767px){.gp-skeleton-tiles{grid-template-columns:repeat(2,1fr);}.gp-skeleton-section{grid-template-columns:1fr;}}

/* ============================================
   排行榜前三名大卡片
   ============================================ */
.gp-rank-top3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:var(--gp-space);}
.gp-rank-top-card{
  position:relative;display:flex;flex-direction:column;align-items:center;
  gap:12px;padding:24px 16px 20px;border-radius:var(--gp-radius-lg);
  text-decoration:none;transition:all var(--gp-transition);overflow:hidden;
}
.gp-rank-top-card.rank-1{background:linear-gradient(135deg,rgba(255,215,0,0.12),rgba(255,107,53,0.08));border:2px solid rgba(255,215,0,0.3);}
.gp-rank-top-card.rank-2{background:linear-gradient(135deg,rgba(192,192,192,0.1),rgba(156,163,175,0.05));border:2px solid rgba(192,192,192,0.25);}
.gp-rank-top-card.rank-3{background:linear-gradient(135deg,rgba(205,127,50,0.1),rgba(180,100,40,0.05));border:2px solid rgba(205,127,50,0.25);}
.gp-rank-top-card:hover{transform:translateY(-4px);box-shadow:var(--gp-shadow-lg);}
.gp-rank-top-medal{font-size:2.5rem;line-height:1;}
.gp-rank-top-card img{width:100%;max-width:200px;height:120px;object-fit:cover;border-radius:var(--gp-radius-sm);}
.gp-rank-top-info{text-align:center;width:100%;}
.gp-rank-top-title{font-size:0.95rem;font-weight:700;color:var(--gp-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gp-rank-top-meta{font-size:0.72rem;color:var(--gp-text-dim);margin-top:4px;}
.gp-rank-item:hover{border-color:var(--gp-primary)!important;transform:translateX(4px);box-shadow:0 4px 12px rgba(0,0,0,0.15);}
@media(max-width:767px){
  .gp-rank-top3{grid-template-columns:1fr;}
  .gp-rank-top-card{flex-direction:row;padding:16px;gap:14px;}
  .gp-rank-top-card img{width:80px;height:60px;max-width:80px;}
  .gp-rank-top-info{text-align:left;}
}



/* ===== 专题列表页样式（提取自 topic_list.php） ===== */

/* 列表页 Hero */
.topic-list-hero {
    position: relative;
    padding: 80px 0 60px;
    text-align: center;
    background: linear-gradient(180deg, rgba(99,102,241,0.08) 0%, transparent 100%);
    overflow: hidden;
}
.topic-list-hero::before {
    content: '';
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(99,102,241,0.1) 0%, transparent 70%);
    pointer-events: none;
}
.topic-list-hero-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
}
.topic-list-hero h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    margin: 0 0 12px 0;
    background: linear-gradient(135deg, #6366f1, #a855f7, #ec4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.topic-list-hero p {
    font-size: 1.1rem;
    color: var(--text-secondary);
    margin: 0 0 24px 0;
    line-height: 1.6;
}
.topic-list-hero .hero-stats {
    display: flex;
    justify-content: center;
    gap: 32px;
    font-size: 0.9rem;
    color: var(--text-dim);
}
.topic-list-hero .hero-stats span {
    display: flex;
    align-items: center;
    gap: 6px;
}
.topic-list-hero .hero-stats i {
    color: var(--accent);
}

/* 面包屑 */
.topic-list-breadcrumb {
    font-size: 0.85rem;
    color: var(--text-dim);
    padding: 16px 20px;
    max-width: 1200px;
    margin: 0 auto;
}
.topic-list-breadcrumb a {
    color: var(--accent);
    text-decoration: none;
}
.topic-list-breadcrumb a:hover { text-decoration: underline; }
.topic-list-breadcrumb .sep { margin: 0 8px; opacity: 0.5; }

/* 分类筛选导航 */
.topic-filter-bar {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.topic-filter-bar .filter-item {
    padding: 8px 18px;
    border-radius: 24px;
    border: 1px solid var(--border);
    background: var(--bg-card);
    color: var(--text-dim);
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.25s;
    white-space: nowrap;
}
.topic-filter-bar .filter-item:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: var(--bg-active);
}
.topic-filter-bar .filter-item.active {
    background: linear-gradient(135deg, #6366f1, #a855f7);
    color: #fff;
    border-color: transparent;
}
@media (max-width: 767px) {
    .topic-filter-bar {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 12px;
    }
    .topic-filter-bar .filter-item {
        flex-shrink: 0;
    }
}

/* 专题卡片网格 */
.topic-list-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 20px 60px;
}
.topic-list-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 24px;
}
@media (max-width: 767px) {
    .topic-list-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

.topic-list-card {
    position: relative;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
}
.topic-list-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 48px rgba(0,0,0,0.3);
    border-color: var(--accent);
}
.topic-list-card .card-cover {
    position: relative;
    height: 180px;
    overflow: hidden;
    flex-shrink: 0;
}
.topic-list-card .card-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s;
}
.topic-list-card:hover .card-cover img {
    transform: scale(1.08);
}
.topic-list-card .card-cover .cover-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    opacity: 0.3;
}
.topic-list-card .card-cover::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 50%);
}
.topic-list-card .card-cover .card-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 0.7rem;
    font-weight: 700;
    background: rgba(99,102,241,0.85);
    color: #fff;
    backdrop-filter: blur(4px);
}
.topic-list-card .card-body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.topic-list-card .card-body h2 {
    margin: 0 0 10px 0;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.topic-list-card .card-body .desc {
    font-size: 0.875rem;
    color: var(--text-dim);
    line-height: 1.6;
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}
.topic-list-card .card-body .desc.empty {
    color: var(--text-dim);
    opacity: 0.4;
    font-style: italic;
}
.topic-list-card .card-meta {
    display: flex;
    gap: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
    font-size: 0.78rem;
    color: var(--text-dim);
}
.topic-list-card .card-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}
.topic-list-card .card-meta i {
    font-size: 0.7rem;
}

/* 空状态 */
.topic-list-empty {
    text-align: center;
    padding: 80px 20px;
    grid-column: 1 / -1;
}
.topic-list-empty .empty-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(99,102,241,0.15), rgba(168,85,247,0.15));
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    font-size: 2rem;
    color: var(--accent);
}
.topic-list-empty h3 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 8px 0;
}
.topic-list-empty p {
    font-size: 0.875rem;
    color: var(--text-dim);
    margin: 0;
}
