/* ============================================================
   精品导航 - 前台样式 v6.0
   现代设计风格：Glassmorphism + 渐变流光 + 微动效
   ============================================================ */

/* ---------- CSS 变量 ---------- */
:root {
  --primary: #6366f1;
  --primary-dark: #4f46e5;
  --primary-light: #a5b4fc;
  --accent: #ec4899;
  --accent2: #06b6d4;
  --bg: #f0f2f8;
  --card: #ffffff;
  --card-glass: rgba(255,255,255,.72);
  --text: #334155;
  --text-light: #64748b;
  --text-lighter: #94a3b8;
  --border: #e2e8f0;
  --radius: 16px;
  --radius-sm: 10px;
  --radius-xs: 6px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.06);
  --shadow: 0 4px 16px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.04);
  --shadow-glow: 0 8px 32px rgba(99,102,241,.18);
  --transition: .3s cubic-bezier(.4,0,.2,1);
}

/* ---------- 重置 ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","Helvetica Neue",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--primary);text-decoration:none;transition:all var(--transition)}
a:hover{color:var(--primary-dark)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5{color:#0f172a;line-height:1.3}
ul,ol{list-style:none}
.container{max-width:1280px;margin:0 auto;padding:0 24px}

/* ---------- 顶部导航 ---------- */
.header{
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%);
  position:sticky;top:0;z-index:1000;
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 2px 24px rgba(0,0,0,.2);
}
.header .container{
  display:flex;align-items:center;
  height:68px;gap:32px;
}
.logo a{
  font-size:24px;font-weight:900;color:#fff!important;
  letter-spacing:-.5px;
  background:linear-gradient(135deg,#818cf8,#c084fc,#f472b6);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.site-logo-link{display:flex!important;align-items:center;background:none!important;-webkit-text-fill-color:initial!important}
.site-logo-img{display:block;width:auto;max-width:180px;height:44px;object-fit:contain}
.nav{display:flex;gap:2px;flex:1}
.nav a{
  color:#94a3b8;padding:8px 18px;border-radius:10px;
  font-size:14px;font-weight:500;transition:all var(--transition);
  position:relative;
}
.nav a:after{
  content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);
  width:0;height:2px;background:var(--primary);
  border-radius:1px;transition:width var(--transition);
}
.nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav a:hover:after{width:60%}
.nav a.active{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark))}
.nav a.nav-user-center{color:#a5b4fc;border:1px solid rgba(165,180,252,.3)}
.nav a.nav-user-center:hover{color:#fff;background:rgba(165,180,252,.15);border-color:rgba(165,180,252,.6)}

.user-bar{display:flex;align-items:center;gap:12px;margin-left:auto}
.user-bar a{color:#94a3b8;font-size:13px;font-weight:500;transition:color var(--transition)}
.user-bar a:hover{color:#fff}
.user-bar .user-name{color:#a5b4fc!important;font-weight:700}
.btn-reg{
  background:linear-gradient(135deg,var(--primary),#8b5cf6);
  color:#fff!important;padding:9px 24px;border-radius:24px;
  font-size:13px;font-weight:600;
  box-shadow:0 4px 16px rgba(99,102,241,.3);
  transition:all var(--transition);
}
.btn-reg:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(99,102,241,.45);color:#fff!important}

/* ---------- Hero 搜索区 ---------- */
.search-bar{
  background:linear-gradient(135deg,#4338ca 0%,#6366f1 40%,#8b5cf6 70%,#a855f7 100%);
  padding:52px 0 44px;
  position:relative;overflow:hidden;
}
.search-bar::before{
  content:'';position:absolute;top:-80px;right:-80px;
  width:300px;height:300px;border-radius:50%;
  background:rgba(255,255,255,.04);pointer-events:none;
}
.search-bar::after{
  content:'';position:absolute;bottom:-60px;left:-60px;
  width:240px;height:240px;border-radius:50%;
  background:rgba(255,255,255,.03);pointer-events:none;
}
.search-bar form{
  display:flex;max-width:640px;margin:0 auto;position:relative;z-index:1;
}
.search-input{
  flex:1;padding:16px 24px;padding-right:60px;
  border:2px solid transparent;border-radius:32px;font-size:16px;
  background:rgba(255,255,255,.12);color:#fff;
  backdrop-filter:blur(10px);
  outline:none;transition:all var(--transition);
}
.search-input::placeholder{color:rgba(255,255,255,.55)}
.search-input:focus{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.3);
  box-shadow:0 8px 32px rgba(0,0,0,.15);
}
.search-btn{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border:none;border-radius:50%;
  background:linear-gradient(135deg,#ec4899,#f472b6);
  color:#fff;font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--transition);
}
.search-btn:hover{transform:translateY(-50%) scale(1.1);box-shadow:0 6px 20px rgba(236,72,153,.5)}

/* ---------- 主内容 ---------- */
.main-content{padding:36px 0 56px}

/* 页面标题 */
.page-title{text-align:center;padding:48px 0 32px}
.page-title h1{font-size:32px;font-weight:900;margin-bottom:10px;background:linear-gradient(135deg,var(--primary-dark),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-title p{color:var(--text-light);font-size:15px}

/* ---------- 广告 ---------- */
.ad-container{max-width:1280px;margin:0 auto 28px;padding:12px 24px;text-align:center;overflow:hidden}
.ad-container img{max-width:100%}
.ad-item{margin-bottom:12px;padding:0}
.ad-item:last-child{margin-bottom:0}
.ad-item-img img{max-width:100%;height:auto}
.ad-item-text a{color:#fff;font-size:15px;text-decoration:underline;padding:6px 12px;display:inline-block}
.ad-item-code{font-size:14px}
/* 默认空广告位：仅保留内容排版，不使用卡片外观 */
.ad-default-card{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  padding:8px 0;cursor:pointer;
  text-align:center;transition:color .2s ease;
  min-height:48px;width:100%;height:100%;box-sizing:border-box;
  border:none;background:transparent;box-shadow:none;
}
.ad-default-card:hover{color:#fff}
.ad-dc-name{font-size:14px;font-weight:700;color:rgba(255,255,255,.92);white-space:nowrap}
.ad-dc-price{font-size:18px;font-weight:900;color:#fff;white-space:nowrap}
.ad-dc-price em{font-size:12px;font-weight:400;color:rgba(255,255,255,.82);font-style:normal}
.ad-dc-btn{
  display:inline-block;background:transparent;
  color:#fff;padding:0;font-size:12px;font-weight:700;
  white-space:nowrap;text-decoration:underline;
}
.ad-default-card:hover .ad-dc-btn{
  color:rgba(255,255,255,.82);
}

/* 迷你槽位内容适配 */
.ad-slot-mini .ad-default-card{padding:6px 0;gap:4px;min-height:0}
.ad-slot-mini .ad-dc-name{font-size:12px}
.ad-slot-mini .ad-dc-price{font-size:14px}
.ad-slot-mini .ad-dc-btn{font-size:10px}

/* 旧版默认占位保留兼容 */
.ad-item-default{text-align:center;padding:0;background:transparent;border:0;border-radius:0}
.ad-item-default a{color:#fff;font-weight:600;text-decoration:none}
.ad-item-default a:hover{color:rgba(255,255,255,.82);text-decoration:underline}
.ad-item-default img{max-height:80px}

/* 通用广告位：每个位置独立配色，保持直角、无边框、无阴影 */
.ad-position-all-header{margin-top:0;margin-bottom:24px;background:#4f46e5}
.ad-position-all-footer{margin-top:32px;margin-bottom:0;background:#0e7490}
.ad-position-index-top{margin-top:0;margin-bottom:20px;background:#c2410c}
.ad-position-index-bottom{margin-top:20px;margin-bottom:32px;background:#a16207}
.ad-position-index-sidebar{max-width:1280px;margin:0 auto 28px;background:#7e22ce}
.ad-position-list-top{margin-top:0;margin-bottom:20px;background:#047857}
.ad-position-list-bottom{margin-top:24px;margin-bottom:20px;background:#0f766e}
.ad-position-list-sidebar{max-width:1280px;margin:24px auto;background:#1d4ed8}
.ad-position-detail-top{margin-top:0;margin-bottom:20px;background:#6b21a8}
.ad-position-detail-bottom{margin-top:24px;margin-bottom:20px;background:#be185d}

/* ---------- 分类卡片 ---------- */
.cate-section{
  background:var(--card);
  border-radius:var(--radius);
  margin-bottom:28px;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  border:1px solid var(--border);
  transition:all var(--transition);
}
.cate-section:hover{box-shadow:var(--shadow)}
.cate-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 28px;
  background:linear-gradient(135deg,#f8fafc,#f1f5f9);
  border-bottom:1px solid var(--border);
}
.cate-header h2{
  font-size:18px;font-weight:700;color:#0f172a;
  display:flex;align-items:center;gap:10px;
}
.cate-header h2 i{color:var(--primary);font-size:20px}
.cate-header .more{
  color:var(--primary);font-size:13px;font-weight:600;
  padding:8px 18px;border-radius:24px;
  background:rgba(99,102,241,.08);
  transition:all var(--transition);
}
.cate-header .more:hover{background:var(--primary);color:#fff;box-shadow:var(--shadow-glow)}

/* 链接网格 */
.link-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--border);
}
.link-item{
  background:#fff;padding:24px 16px;text-align:center;
  transition:all var(--transition);position:relative;
  cursor:pointer;
}
.link-item:hover{
  background:linear-gradient(180deg,#fafbff 0%,#fff 100%);
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(99,102,241,.1);
  z-index:2;
}
.link-item a{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  color:var(--text);
}
.link-logo{
  width:48px;height:48px;border-radius:var(--radius-xs);
  object-fit:contain;transition:transform var(--transition);
}
.link-item:hover .link-logo{transform:scale(1.1)}
.link-logo-default{
  width:48px;height:48px;border-radius:var(--radius-xs);
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:800;text-transform:uppercase;
  transition:transform var(--transition);
}
.link-item:hover .link-logo-default{transform:scale(1.1) rotate(-5deg)}
.link-title{font-size:14px;font-weight:600;color:#0f172a;line-height:1.3}
.link-desc{
  font-size:12px;color:var(--text-lighter);line-height:1.5;
  margin-top:4px;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.link-item.top::before{
  content:'🔥 HOT';position:absolute;top:8px;right:8px;
  background:linear-gradient(135deg,#f59e0b,#ef4444);
  color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;
}
.link-item.bold .link-title{font-weight:800}

/* 空数据状态 */
.link-grid:empty::after{
  content:'暂无数据，请先添加网站链接';
  grid-column:1/-1;padding:48px 20px;text-align:center;
  color:var(--text-lighter);font-size:15px;
}

/* ---------- 热门排行 ---------- */
.hot-list{padding:8px 20px 20px}
.hot-item{
  display:flex;align-items:center;gap:16px;
  padding:14px 18px;border-radius:var(--radius-xs);
  transition:all var(--transition);
}
.hot-item:hover{background:#f1f5f9;transform:translateX(4px)}
.hot-item.top3{
  background:linear-gradient(135deg,#fef3c7,#fffbeb);
  border:1px solid #fde68a;
}
.hot-rank{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  background:var(--border);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:800;
}
.hot-item:nth-child(1) .hot-rank{
  background:linear-gradient(135deg,#fbbf24,#f59e0b);
  font-size:16px;width:36px;height:36px;
  box-shadow:0 4px 12px rgba(245,158,11,.3);
}
.hot-item:nth-child(2) .hot-rank{
  background:linear-gradient(135deg,#94a3b8,#64748b);
  box-shadow:0 4px 12px rgba(100,116,139,.3);
}
.hot-item:nth-child(3) .hot-rank{
  background:linear-gradient(135deg,#d97706,#b45309);
  box-shadow:0 4px 12px rgba(217,119,6,.3);
}
.hot-item a{flex:1;font-weight:600;color:var(--text);font-size:15px}
.hot-item a:hover{color:var(--primary)}
.hot-click{font-size:12px;color:var(--text-lighter);white-space:nowrap}

/* ---------- 文章列表 ---------- */
.article-list{padding:0 20px 20px}
.article-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:15px 20px;border-bottom:1px solid #f1f5f9;
  transition:all var(--transition);border-radius:var(--radius-xs);
}
.article-item:hover{background:#f8fafc;transform:translateX(4px)}
.article-item:last-child{border-bottom:none}
.article-item a{font-size:15px;font-weight:600;color:var(--text);flex:1}
.article-item a:hover{color:var(--primary)}
.article-time{font-size:12px;color:var(--text-lighter);white-space:nowrap;margin-left:20px}

/* 文章列表完整版 */
.article-list-full{padding:0 20px 20px;display:flex;flex-direction:column;gap:20px}
.article-full-item{
  display:flex;gap:24px;padding:20px;
  background:#f8fafc;border-radius:var(--radius-sm);
  transition:all var(--transition);
}
.article-full-item:hover{background:#fff;box-shadow:var(--shadow);transform:translateY(-2px)}
.article-thumb{
  width:180px;height:120px;object-fit:cover;
  border-radius:var(--radius-sm);flex-shrink:0;
}
.article-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px}
.article-info h3{font-size:18px}
.article-info h3 a{color:#0f172a}
.article-info h3 a:hover{color:var(--primary)}
.article-meta{display:flex;gap:18px;font-size:13px;color:var(--text-lighter)}
.article-meta i{margin-right:5px}

/* 文章详情 */
.article-detail .article-header{text-align:center;padding:36px 0 24px}
.article-detail .article-header h1{font-size:30px;font-weight:900;margin-bottom:14px}
.article-detail .article-header .article-meta{justify-content:center}
.article-body{padding:8px 0 36px;font-size:16px;line-height:2;color:var(--text)}
.article-body img{border-radius:var(--radius-sm);max-width:100%}
.article-body p{margin-bottom:18px}
.related-articles{border-top:1px solid var(--border);padding-top:24px}
.related-articles h3{font-size:18px;margin-bottom:16px}
.related-articles ul{list-style:none}
.related-articles li{padding:12px 0;border-bottom:1px solid #f1f5f9}
.related-articles li a:hover{color:var(--primary)}

/* ---------- 排行页 ---------- */
.rank-tabs{
  display:flex;gap:4px;margin-bottom:24px;
  background:#f1f5f9;padding:5px;border-radius:var(--radius);
}
.rank-tabs a{
  flex:1;text-align:center;padding:12px 24px;border-radius:var(--radius-sm);
  font-weight:600;font-size:14px;color:var(--text-light);transition:all var(--transition);
}
.rank-tabs a.active{background:#fff;color:var(--primary);box-shadow:var(--shadow-sm)}
.rank-panel{display:none}
.rank-panel.active{display:block}
.rank-item{
  display:flex;align-items:center;gap:16px;
  padding:16px 24px;background:#fff;border-radius:var(--radius-sm);
  margin-bottom:10px;transition:all var(--transition);
  border:1px solid var(--border);
}
.rank-item:hover{box-shadow:var(--shadow);border-color:var(--primary-light);transform:translateX(4px)}
.rank-item.rank-top{
  background:linear-gradient(135deg,#fef3c7,#fef9c3);
  border-color:#fde68a;
}
.rank-item .rank-num{
  width:36px;height:36px;border-radius:50%;
  background:var(--border);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:14px;flex-shrink:0;
}
.rank-item.rank-top .rank-num{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.rank-item:nth-child(1) .rank-num{
  background:linear-gradient(135deg,#fbbf24,#f59e0b);
  font-size:18px;box-shadow:0 4px 12px rgba(245,158,11,.3);
}
.rank-item:nth-child(2) .rank-num{
  background:linear-gradient(135deg,#94a3b8,#64748b);
  box-shadow:0 4px 12px rgba(100,116,139,.3);
}
.rank-item:nth-child(3) .rank-num{
  background:linear-gradient(135deg,#d97706,#b45309);
  box-shadow:0 4px 12px rgba(217,119,6,.3);
}
.rank-title{flex:1;font-weight:600;font-size:15px}
.rank-item .rank-click{font-size:12px;color:var(--text-lighter);white-space:nowrap}

/* ---------- 表单页 ---------- */
.form-page{padding-top:12px}
.form-container{
  max-width:680px;margin:0 auto 48px;
  background:var(--card);border-radius:var(--radius);
  padding:36px 40px;box-shadow:var(--shadow);
  border:1px solid var(--border);
}
.form-container h3{font-size:22px;font-weight:700;margin-bottom:24px;color:#0f172a}
.form-group{margin-bottom:22px}
.form-group label{
  display:block;font-weight:600;font-size:14px;
  color:var(--text);margin-bottom:8px;
}
.form-group .required{color:var(--accent);margin-left:3px}
.form-group input[type="text"],
.form-group input[type="url"],
.form-group input[type="email"],
.form-group input[type="password"],
.form-group select,
.form-group textarea{
  width:100%;padding:13px 18px;border:2px solid var(--border);
  border-radius:var(--radius-xs);font-size:14px;color:var(--text);
  transition:all var(--transition);background:#f8fafc;font-family:inherit;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--primary);background:#fff;
  box-shadow:0 0 0 4px rgba(99,102,241,.08);outline:none;
}
.form-group textarea{resize:vertical;min-height:100px}
.form-group select{
  cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23666' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;
}
.checkbox-group{display:flex;align-items:center}
.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:400}
.checkbox-group input[type="checkbox"]{width:20px;height:20px;accent-color:var(--primary)}

.form-actions{margin-top:32px;text-align:center}
.form-actions .btn{padding:14px 56px;font-size:16px}

/* ---------- 价格表 ---------- */
.price-table{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;margin-bottom:36px;
}
.price-card{
  background:#fff;border:2px solid var(--border);
  border-radius:var(--radius);padding:32px 24px;text-align:center;
  transition:all var(--transition);position:relative;
}
.price-card:hover{
  border-color:var(--primary);box-shadow:var(--shadow-lg);
  transform:translateY(-6px);
}
.price-card.featured{
  border-color:var(--primary);
  box-shadow:0 8px 40px rgba(99,102,241,.2);
}
.price-card.featured::before{
  content:'推荐';position:absolute;top:12px;right:12px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:700;
}
.price-card h3{font-size:18px;margin-bottom:14px}
.price-card .price{font-size:40px;font-weight:900;color:var(--primary);margin-bottom:18px}
.price-card .price small{font-size:14px;font-weight:400;color:var(--text-lighter)}
.price-card ul{list-style:none;text-align:left}
.price-card ul li{padding:8px 0;font-size:14px;color:var(--text-light)}
.price-card ul li::before{content:'✓ ';color:#10b981;font-weight:700}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-block;padding:11px 28px;border:none;border-radius:var(--radius-xs);
  font-size:14px;font-weight:600;cursor:pointer;
  transition:all var(--transition);text-decoration:none;text-align:center;line-height:1.4;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn:active{transform:translateY(0)}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff;
}
.btn-primary:hover{box-shadow:0 8px 28px rgba(99,102,241,.35);color:#fff}
.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}
.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}
.btn-sm{padding:6px 16px;font-size:12px}
.btn-block{display:block;width:100%}

/* ---------- 表格 ---------- */
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{
  background:#f8fafc;padding:12px 18px;text-align:left;
  font-weight:600;font-size:13px;color:var(--text-light);
  border-bottom:2px solid var(--border);white-space:nowrap;
}
.table td{padding:12px 18px;border-bottom:1px solid #f1f5f9;color:var(--text)}
.table tr:hover td{background:#fafbff}

/* ---------- 标签 ---------- */
.tag{display:inline-block;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:600}
.tag-success{background:#d1fae5;color:#065f46}
.tag-warning{background:#fef3c7;color:#92400e}
.tag-danger{background:#fee2e2;color:#991b1b}
.tag-info{background:#dbeafe;color:#1e40af}
.tag-primary{background:#e0e7ff;color:#3730a3}

/* ---------- 分页 ---------- */
.pagination{
  display:flex;gap:6px;justify-content:center;
  margin:28px 0;flex-wrap:wrap;list-style:none;
}
.pagination>li>a,
.pagination>li>span{
  display:flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 8px;
  border-radius:var(--radius-xs);font-size:14px;font-weight:500;
  color:var(--text);background:#fff;
  border:1px solid var(--border);transition:all var(--transition);
  text-decoration:none;
}
.pagination>li>a:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.pagination>.active>span{background:var(--primary);color:#fff;border-color:var(--primary)}
.pagination>.disabled>span{color:#cbd5e1;cursor:default;background:#f8fafc}

/* ---------- 友链 ---------- */
.flink-list{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:36px}
.flink-item{
  background:#fff;border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:16px 22px;
  transition:all var(--transition);
}
.flink-item:hover{border-color:var(--primary);box-shadow:var(--shadow)}
.flink-item a{font-weight:600;font-size:14px}
.flink-desc{display:block;font-size:12px;color:var(--text-lighter);margin-top:5px}

/* ---------- 页脚 ---------- */
.footer{
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
  color:#94a3b8;padding:44px 0;text-align:center;font-size:13px;
  border-top:3px solid var(--primary);
}
.footer p{margin:8px 0;line-height:1.8}
.footer a{color:var(--primary-light)}
.footer a:hover{color:#fff}
.footer .footer-flinks{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  column-gap:0;margin:0 0 6px;padding:0;border:0;background:none;
}
.footer-flinks-title{color:#cbd5e1;font-weight:600}
.footer .footer-flinks a{color:#94a3b8;white-space:nowrap}
.footer .footer-flinks a+a::before{content:'·';margin:0 10px;color:#64748b}
.footer .footer-flinks a:hover{color:#fff}
.footer .footer-copyright{margin-top:0}

/* ---------- 提示消息 ---------- */
.alert{padding:16px 22px;border-radius:var(--radius-xs);margin-bottom:22px;font-size:14px;line-height:1.6}
.alert-success{background:#d1fae5;color:#065f46;border-left:4px solid #10b981}
.alert-danger{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444}
.alert-warning{background:#fef3c7;color:#92400e;border-left:4px solid #f59e0b}
.alert-info{background:#dbeafe;color:#1e40af;border-left:4px solid var(--primary)}

/* ---------- 空状态 / 无数据 ---------- */
.empty-state{
  text-align:center;padding:64px 24px;color:var(--text-lighter);
}
.empty-state .empty-icon{
  font-size:56px;margin-bottom:16px;display:block;opacity:.4;
}
.empty-state p{font-size:15px;margin:0}

/* ---------- 搜索无结果 ---------- */
.empty{text-align:center;padding:64px 24px;color:var(--text-lighter)}
.empty i{font-size:52px;margin-bottom:18px;display:block;opacity:.3}

/* ---------- 工具类 ---------- */
.text-center{text-align:center}
.text-success{color:#10b981!important}
.text-danger{color:#ef4444!important}
.text-muted{color:var(--text-lighter)!important}
.text-primary{color:var(--primary)!important}
.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mt-30{margin-top:30px}
.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.mb-30{margin-bottom:30px}

/* ---------- 我的列表 ---------- */
.my-list{margin-bottom:36px}
.my-list h3{font-size:20px;font-weight:700;margin-bottom:18px;color:#0f172a}
.my-list .empty-state{background:#f8fafc;border-radius:var(--radius)}
.my-list .table{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}

/* ---------- 列表页链接列表 ---------- */
.link-list{
  display:flex;flex-direction:column;gap:2px;
  background:var(--border);border-radius:var(--radius);overflow:hidden;
}
.link-list-item{
  display:flex;align-items:center;background:#fff;padding:18px 24px;
  gap:18px;transition:all var(--transition);
}
.link-list-item:hover{background:#f8fafc;transform:translateX(2px)}
.link-list-item .link-main{
  display:flex;align-items:center;gap:16px;flex:1;color:var(--text);
}
.link-list-item .link-logo,.link-list-item .link-logo-default{
  width:50px;height:50px;border-radius:10px;flex-shrink:0;
}
.link-list-item .link-logo-default{
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:700;
}
.link-list-item .link-info{flex:1;min-width:0}
.link-list-item .link-title{font-size:15px;font-weight:600;color:#0f172a}
.link-list-item .link-desc{
  font-size:12px;color:var(--text-lighter);margin-top:4px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.link-list-item .link-meta{font-size:12px;color:var(--text-lighter);white-space:nowrap}

/* ---------- 侧边广告 ---------- */
.side-ad{margin:20px 0}

/* ========== 首页广告位网格区 ========== */
.ad-grid-zone{
  padding:24px 0;
}

/* 迷你按钮网格 4列 */
.ad-mini-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  margin-bottom:20px;
}
.ad-slot-mini{
  aspect-ratio:4/1;overflow:hidden;
  min-height:52px;display:flex;align-items:center;justify-content:center;
}
.ad-slot-mini .ad-item-img img{max-height:48px}
.ad-slot-mini-1{background:#b91c1c}
.ad-slot-mini-2{background:#3730a3}
.ad-slot-mini-3{background:#155e75}
.ad-slot-mini-4{background:#9a3412}
.ad-slot-mini-5{background:#166534}
.ad-slot-mini-6{background:#1e40af}
.ad-slot-mini-7{background:#9d174d}
.ad-slot-mini-8{background:#5b21b6}
.ad-slot-mini-9{background:#115e59}
.ad-slot-mini-10{background:#075985}
.ad-slot-mini-11{background:#854d0e}
.ad-slot-mini-12{background:#3f6212}
.ad-placeholder-mini{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;font-weight:700;
  cursor:pointer;transition:color .2s;
  letter-spacing:1px;
}
.ad-placeholder-mini:hover{
  color:rgba(255,255,255,.82);
}

/* 大横幅堆积区 */
.ad-banner-stack{
  display:flex;flex-direction:column;gap:12px;margin-bottom:16px;
}
.ad-slot-banner{
  overflow:hidden;
}
.ad-slot-banner-1{background:#be123c}
.ad-slot-banner-2{background:#1e3a8a}
.ad-slot-banner-3{background:#581c87}
.ad-slot-banner-4{background:#065f46}
.ad-slot-banner-5{background:#92400e}
.ad-placeholder-banner{
  padding:8px 0;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;transition:color .2s;
}
.ad-placeholder-banner:hover{
  color:var(--primary);
}
.ad-ph-banner-text{
  display:flex;align-items:center;gap:10px;
  color:#fff;font-size:16px;
}
.ad-ph-banner-text strong{font-size:20px;font-weight:900}
.ad-ph-banner-btn{
  background:transparent;color:#fff;padding:0;
  font-size:13px;font-weight:700;white-space:nowrap;
  text-decoration:underline;
}
.ad-placeholder-banner:hover .ad-ph-banner-btn{
  color:rgba(255,255,255,.82);
}

/* 中横幅行 2列 */
.ad-medium-row{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
  margin-bottom:12px;
}
.ad-medium-row:last-child{margin-bottom:0}
.ad-slot-medium{
  overflow:hidden;min-height:54px;
}
.ad-slot-medium-1{background:#7c2d12}
.ad-slot-medium-2{background:#312e81}
.ad-slot-medium-3{background:#86198f}
.ad-slot-medium-4{background:#134e4a}
.ad-placeholder-medium{
  padding:8px 0;display:flex;align-items:center;justify-content:space-between;
  cursor:pointer;transition:color .2s;
}
.ad-placeholder-medium:hover{
  color:var(--primary);
}
.ad-ph-medium-text{color:#fff;font-size:14px;font-weight:600}
.ad-ph-medium-size{
  color:rgba(255,255,255,.82);font-size:12px;font-weight:700;
}

/* 广告位内有实际广告时去掉占位样式 */
.ad-slot-mini .ad-item,
.ad-slot-banner .ad-item,
.ad-slot-medium .ad-item{width:100%}

/* 响应式-广告网格 */
@media(max-width:768px){
  .ad-mini-grid{grid-template-columns:repeat(3,1fr)}
  .ad-medium-row{grid-template-columns:1fr}
  .ad-placeholder-banner{flex-direction:column;gap:10px;text-align:center}
  .ad-ph-banner-text{justify-content:center;font-size:14px}
  .ad-ph-banner-text strong{font-size:16px}
}
@media(max-width:480px){
  .ad-mini-grid{grid-template-columns:repeat(2,1fr)}
}

/* ========== 广告位市场 ========== */
.ad-marketplace{padding-bottom:60px}
.ad-marketplace .page-title{padding:36px 0 28px}
.ad-marketplace .page-title h1{font-size:34px;font-weight:900;background:linear-gradient(135deg,#ff6b35,#6366f1,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ad-marketplace .page-title p{color:var(--text-light);font-size:16px;margin-top:8px}

/* 分区 */
.ad-section{margin-bottom:36px}
.ad-section-hd{
  display:flex;align-items:center;gap:12px;
  color:#fff;padding:14px 24px;border-radius:12px 12px 0 0;
  font-size:18px;font-weight:700;
  box-shadow:0 3px 12px rgba(0,0,0,.12);
}
.ad-section-hd em{margin-left:auto;font-style:normal;font-weight:400;font-size:13px;opacity:.85}
.ad-section-icon{font-size:22px}

/* 彩色小卡片行 */
.ad-mini-row{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  padding:20px;background:linear-gradient(135deg,#eef2ff,#e0f2fe);border:2px solid var(--border);border-top:none;
}
.ad-mini-card{
  background:#e0e7ff;border-radius:10px;padding:16px;
  display:flex;align-items:center;gap:14px;
  cursor:pointer;transition:all var(--transition);
  border:2px solid var(--border);position:relative;overflow:hidden;
}
.ad-mini-card:nth-child(1){border-color:#ff6b35;background:#fff5f0}
.ad-mini-card:nth-child(2){border-color:#6366f1;background:#f0f0ff}
.ad-mini-card:nth-child(3){border-color:#10b981;background:#f0fff4}
.ad-mini-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.ad-mini-card.active{box-shadow:0 0 0 3px var(--primary);border-color:var(--primary)!important}
.ad-mini-card-img{
  width:56px;height:56px;border-radius:8px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;
  background:linear-gradient(135deg,#f1f5f9,#e2e8f0);
}
.ad-mini-card:nth-child(1) .ad-mini-card-img{background:linear-gradient(135deg,#ff6b35,#ff8c42)}
.ad-mini-card:nth-child(2) .ad-mini-card-img{background:linear-gradient(135deg,#6366f1,#818cf8)}
.ad-mini-card:nth-child(3) .ad-mini-card-img{background:linear-gradient(135deg,#10b981,#34d399)}
.ad-mini-card-info{flex:1;display:flex;flex-direction:column;gap:4px}
.ad-mini-name{font-weight:700;font-size:14px;color:#0f172a}
.ad-mini-price{font-weight:900;font-size:18px;color:var(--primary)}
.ad-mini-price small{font-size:11px;color:var(--text-lighter);font-weight:400}
.ad-mini-btn{
  display:inline-block;background:linear-gradient(135deg,#f59e0b,#ef4444);
  color:#fff;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:700;
  margin-top:4px;align-self:flex-start;box-shadow:0 2px 8px rgba(245,158,11,.3);
}

/* 大横幅招租 */
.ad-banner-lg{
  background:linear-gradient(135deg,#ff6b35,#ff8c42,#ff6b35);
  background-size:200% 200%;animation:adShimmer 3s ease infinite;
  padding:28px 32px;cursor:pointer;transition:all var(--transition);
  border:2px solid var(--border);border-top:none;background-color:#fff4f0;
  position:relative;overflow:hidden;
}
.ad-banner-lg:last-child{border-radius:0 0 12px 12px}
.ad-banner-lg:hover{transform:scale(1.01);box-shadow:var(--shadow-lg)}
.ad-banner-lg.active{box-shadow:0 0 0 3px var(--primary)}
.ad-banner-lg-body{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  position:relative;z-index:1;
}
.ad-banner-lg-text{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  font-size:18px;color:#fff;font-weight:500;
}
.ad-banner-lg-text strong{font-size:22px;font-weight:900}
.ad-banner-hot{
  background:rgba(255,255,255,.25);color:#fff;
  padding:3px 12px;border-radius:20px;font-size:12px;font-weight:700;
}
.ad-banner-lg-price{
  text-align:center;color:rgba(255,255,255,.9);font-size:13px;
}
.ad-banner-lg-price span{font-size:36px;font-weight:900;color:#fff}
.ad-banner-lg-btn{
  background:#fff;color:#ff6b35;padding:12px 28px;border-radius:24px;
  font-size:15px;font-weight:700;white-space:nowrap;
  box-shadow:0 4px 16px rgba(0,0,0,.15);
  transition:all var(--transition);
}
.ad-banner-lg:hover .ad-banner-lg-btn{background:#ff6b35;color:#fff;transform:scale(1.05)}

/* 金色大横幅 */
.ad-banner-lg-gold{background:linear-gradient(135deg,#f59e0b,#fbbf24,#f59e0b);background-size:200% 200%;animation:adShimmer 3s ease infinite}
.ad-banner-lg-gold .ad-banner-lg-btn{color:#d97706}
.ad-banner-lg-gold:hover .ad-banner-lg-btn{background:#d97706;color:#fff}

/* 横幅行 */
.ad-banner-row{
  display:grid;grid-template-columns:repeat(2,1fr);gap:0;
  background:#e2e8f0;border:2px solid var(--border);border-top:none;
}
.ad-banner-row:last-child{border-radius:0 0 12px 12px}
.ad-banner-row-3{grid-template-columns:repeat(3,1fr)}

/* 中横幅 */
.ad-banner-md{
  padding:22px 24px;cursor:pointer;transition:all var(--transition);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  border-right:1px dashed #e2e8f0;position:relative;
}
.ad-banner-md:last-child{border-right:none}
.ad-banner-md:hover{transform:translateY(-2px);z-index:2}
.ad-banner-md.active{box-shadow:inset 0 0 0 3px var(--primary)}
.ad-banner-md-orange{background:linear-gradient(135deg,#fff5f0,#fff0e8)}
.ad-banner-md-orange:hover{background:linear-gradient(135deg,#ffe8d5,#ffdcc4);box-shadow:var(--shadow-lg)}
.ad-banner-md-blue{background:linear-gradient(135deg,#f0f0ff,#e8e8ff)}
.ad-banner-md-blue:hover{background:linear-gradient(135deg,#ddddfe,#d0d0ff);box-shadow:var(--shadow-lg)}
.ad-banner-md-green{background:linear-gradient(135deg,#f0fff4,#e6ffed)}
.ad-banner-md-green:hover{background:linear-gradient(135deg,#d5f5e3,#c3f0d5);box-shadow:var(--shadow-lg)}
.ad-banner-md-red{background:linear-gradient(135deg,#fef2f2,#fee2e2)}
.ad-banner-md-red:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);box-shadow:var(--shadow-lg)}
.ad-banner-md-purple{background:linear-gradient(135deg,#f5f3ff,#ede9fe)}
.ad-banner-md-purple:hover{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);box-shadow:var(--shadow-lg)}
.ad-banner-md-text{flex:1;min-width:0}
.ad-banner-md-text strong{font-size:15px;font-weight:700;color:#0f172a;display:block;margin-bottom:3px}
.ad-banner-md-text{font-size:13px;color:var(--text-light)}
.ad-banner-md-btn{
  background:linear-gradient(135deg,#f59e0b,#ef4444);
  color:#fff;padding:8px 18px;border-radius:20px;font-size:12px;font-weight:700;
  white-space:nowrap;box-shadow:0 2px 8px rgba(245,158,11,.3);
}

/* 我的广告列表 */
.ad-my-list{
  background:#fff;padding:24px;border:2px solid var(--border);border-top:none;
  border-radius:0 0 12px 12px;
}
.ad-my-list .table{box-shadow:none;border-radius:0}
.ad-my-list .table th{background:#f8fafc;border-bottom:2px solid var(--border)}
.ad-my-list .empty-state{padding:40px 0;color:var(--text-lighter)}
.ad-my-list .empty-state .empty-icon{font-size:48px}

/* 到期广告续费卡片 */
.expired-ad-card{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;margin-bottom:10px;
  background:linear-gradient(135deg,#fef2f2,#fee2e2);
  border:1px solid #fca5a5;border-radius:10px;
  transition:all .3s
}
.expired-ad-card:last-child{margin-bottom:0}
.expired-ad-card.active{transform:scale(1.02);box-shadow:0 0 20px rgba(239,68,68,.3)}
.expired-ad-card:hover{border-color:#ef4444;box-shadow:0 4px 16px rgba(239,68,68,.15)}
.expired-ad-info{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.expired-ad-name{font-weight:700;font-size:16px;color:#991b1b}
.expired-ad-pos{font-size:13px;color:#b45309;background:#fef3c7;padding:3px 10px;border-radius:20px}
.expired-ad-time{font-size:13px;color:#dc2626;font-weight:500}
.btn-renew{
  background:linear-gradient(135deg,#dc2626,#ef4444)!important;
  color:#fff!important;border:none!important;
  padding:8px 20px!important;font-size:14px!important;
  border-radius:8px!important;cursor:pointer;
  white-space:nowrap;transition:all .2s
}
.btn-renew:hover{background:linear-gradient(135deg,#b91c1c,#dc2626)!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(220,38,38,.4)}

/* 表单区域 */
.ad-form-wrap{
  background:#fff;padding:32px;border:2px solid var(--border);border-top:none;
  border-radius:0 0 12px 12px;
}
.ad-form-wrap .form-actions{margin-top:24px}
.ad-form-wrap .btn{padding:14px 48px;font-size:16px;border-radius:24px}
.ad-form-wrap .btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.form-hint{color:var(--text-lighter);font-size:12px;display:block;margin-top:6px}

@keyframes adShimmer{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

/* ========== 增强广告发布表单 ========== */
.ad-form-step{margin-bottom:20px}
.ad-form-label{font-weight:700;font-size:15px;color:#0f172a;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.ad-form-label::after{content:'';flex:1;height:1px;background:#e2e8f0}

/* 广告类型选项卡 */
.ad-type-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ad-type-tab{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:20px 12px;background:#f8fafc;border:2px solid #e2e8f0;
  border-radius:12px;cursor:pointer;text-align:center;
  transition:all .25s;user-select:none;
}
.ad-type-tab:hover{border-color:#c4b5fd;background:#f5f3ff;transform:translateY(-2px)}
.ad-type-tab.active{
  border-color:#6366f1;background:linear-gradient(135deg,#eef2ff,#e0e7ff);
  box-shadow:0 4px 16px rgba(99,102,241,.2);
  transform:translateY(-3px);
}
.ad-type-icon{font-size:32px;display:block}
.ad-type-name{font-size:15px;font-weight:700;color:#0f172a}
.ad-type-desc{font-size:11px;color:var(--text-lighter)}

/* 类型面板 */
.ad-type-panel{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* 图片上传区 */
.ad-upload-zone{
  border:2px dashed #cbd5e1;border-radius:12px;
  padding:36px 20px;text-align:center;cursor:pointer;
  transition:all .25s;background:#fafbfc;
}
.ad-upload-zone:hover,.ad-upload-zone.dragover{
  border-color:#6366f1;background:#eef2ff;
  transform:scale(1.01);
}
.ad-upload-zone.dragover{border-style:solid;box-shadow:0 0 0 4px rgba(99,102,241,.1)}
.ad-upload-zone.uploading{opacity:.6;pointer-events:none}
.ad-upload-label{display:block;cursor:pointer;width:100%}
.ad-upload-icon{font-size:42px;margin-bottom:10px;display:block}
.ad-upload-text strong{display:block;font-size:15px;color:#334155;margin-bottom:6px}
.ad-upload-text span{font-size:12px;color:var(--text-lighter)}

/* 上传预览 */
.ad-upload-preview{
  position:relative;display:inline-block;
  border-radius:12px;overflow:hidden;border:2px solid #e2e8f0;
  max-width:100%;
}
.ad-upload-preview img{
  max-width:100%;max-height:200px;display:block;object-fit:contain;
}
.ad-upload-remove{
  position:absolute;top:6px;right:6px;
  width:28px;height:28px;border-radius:50%;
  background:rgba(0,0,0,.6);color:#fff;
  border:none;font-size:14px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.ad-upload-remove:hover{background:#ef4444;transform:scale(1.1)}

/* 实时预览区 */
.ad-preview-box{
  margin-top:24px;border:2px solid #e2e8f0;border-radius:12px;
  overflow:hidden;background:#fff;
}
.ad-preview-hd{
  padding:10px 18px;background:#f8fafc;font-weight:600;font-size:14px;
  color:#334155;border-bottom:1px solid #e2e8f0;
}
.ad-preview-body{
  padding:20px;min-height:60px;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.ad-preview-placeholder{color:#94a3b8;font-size:14px}

/* 表单底部栏 */
.ad-form-bottom{margin-top:24px}
.ad-balance-bar{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:12px;margin-bottom:16px;padding:14px 18px;
  background:#f0fdf4;border-radius:10px;border:1px solid #bbf7d0;
  font-size:14px;color:#166534;
}
.ad-balance-num{font-size:22px;margin-left:4px}
.ad-price-show{
  background:#6366f1;color:#fff;padding:4px 14px;border-radius:20px;
  font-size:13px;font-weight:600;display:none;
}
.ad-recharge-link{font-size:13px;color:#2563eb;text-decoration:underline;white-space:nowrap}
.ad-recharge-link:hover{color:#1d4ed8}

/* ---------- 响应式-广告市场 ---------- */
@media(max-width:768px){
  .ad-mini-row{grid-template-columns:1fr;gap:10px}
  .ad-banner-row,.ad-banner-row-3{grid-template-columns:1fr}
  .ad-banner-md{border-right:none;border-bottom:1px dashed #e2e8f0}
  .ad-banner-md:last-child{border-bottom:none}
  .ad-banner-lg-body{flex-direction:column;text-align:center;gap:16px}
  .ad-banner-lg-text{justify-content:center}
  .ad-marketplace .page-title h1{font-size:26px}
  .ad-type-tabs{grid-template-columns:1fr;gap:8px}
  .ad-type-tab{flex-direction:row;gap:12px;padding:14px 18px}
  .ad-type-icon{font-size:24px}
  .ad-type-desc{display:none}
  .ad-balance-bar{flex-direction:column;text-align:center;gap:8px}
}

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar{width:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#94a3b8}

/* ---------- 会员中心 ---------- */
.user-center{padding:30px 0}
.user-info-card{
  background:#fff;border-radius:var(--radius);padding:36px 32px;
  box-shadow:var(--shadow-sm);margin-bottom:30px;
}
.user-info-card h2{
  font-size:26px;font-weight:700;color:#0f172a;margin:0 0 28px 0;
}
.user-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.stat-item{
  text-align:center;padding:24px 16px;background:#f8fafc;
  border-radius:12px;transition:transform var(--transition);
}
.stat-item:hover{transform:translateY(-2px)}
.stat-value{
  font-size:28px;font-weight:800;color:var(--primary);margin-bottom:8px;
}
.stat-label{font-size:13px;color:var(--text-lighter);font-weight:500}
.vip-badge{
  display:inline-block;background:linear-gradient(135deg,#f59e0b,#ef4444);
  color:#fff;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:700;
}
.vip-identity-banner{
  display:flex;align-items:center;gap:14px;margin:-12px 0 24px;padding:16px 20px;
  border:1px solid #fcd34d;border-radius:14px;background:linear-gradient(135deg,#fffbeb,#fff7ed);
  color:#92400e;box-shadow:0 6px 20px rgba(245,158,11,.12)
}
.vip-identity-banner .vip-crown{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;font-size:20px}
.vip-identity-banner strong{display:block;font-size:19px;color:#92400e}.vip-identity-banner small{display:block;color:#b45309;margin-top:2px}

/* ---------- 登录/注册 ---------- */
.auth-page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:36px 18px;
  background:radial-gradient(circle at 20% 20%,rgba(99,102,241,.20),transparent 38%),
             radial-gradient(circle at 85% 80%,rgba(236,72,153,.16),transparent 38%),var(--bg)
}
.auth-box{
  width:100%;max-width:460px;padding:34px 38px;background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:0 22px 60px rgba(15,23,42,.13)
}
.auth-brand{display:flex;justify-content:center;margin-bottom:22px;padding:10px;border-radius:14px;background:#0f172a}
.auth-brand img{height:42px;width:auto;max-width:190px}.auth-box h1{text-align:center;font-size:28px;margin-bottom:6px}
.auth-subtitle{text-align:center;color:var(--text-light);font-size:13px;margin-bottom:26px}
.auth-box .form-group label{display:block;margin-bottom:7px;font-size:13px;font-weight:700;color:#475569}
.auth-box .required{color:#ef4444}.auth-box .form-input{width:100%;padding:13px 15px;border:2px solid var(--border);border-radius:10px;background:#f8fafc;font-size:14px;outline:none;transition:all var(--transition)}
.auth-box .form-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px rgba(99,102,241,.09)}
.auth-box .btn-block{width:100%;margin-top:6px;padding:13px}.auth-link{text-align:center;margin-top:20px;color:var(--text-light);font-size:14px}
.auth-back{display:block;text-align:center;margin-top:12px;color:var(--text-lighter);font-size:13px}.auth-back:hover{color:var(--primary)}
.url-fetch-row{display:flex;gap:10px}.url-fetch-row input{flex:1}.url-fetch-row .btn{white-space:nowrap}

/* ---------- 充值页面 ---------- */
.user-balance{
  text-align:center;padding:30px;margin-bottom:24px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  border-radius:var(--radius);color:#fff;font-size:17px;
}
.user-balance .balance-amount{
  font-size:40px;font-weight:900;margin-left:6px;display:inline-block;
}
.recharge-options{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;
}
.recharge-card{
  background:#fff;border:2px solid var(--border);border-radius:var(--radius);
  padding:20px 14px;text-align:center;cursor:pointer;
  transition:all var(--transition);user-select:none;
}
.recharge-card:hover{border-color:var(--primary);transform:translateY(-2px)}
.recharge-card.selected{border-color:var(--primary);background:#eff6ff}
.recharge-card.hot{
  border-color:#f59e0b;position:relative;overflow:hidden;
}
.recharge-card.hot::after{
  content:'推荐';position:absolute;top:10px;right:-24px;
  background:#f59e0b;color:#fff;font-size:10px;padding:2px 28px;
  transform:rotate(45deg);font-weight:600;
}
.recharge-card .amount{font-size:26px;font-weight:800;color:#0f172a;margin-bottom:6px}
.recharge-card .desc{font-size:12px;color:var(--text-lighter)}

/* ---------- VIP 页面 ---------- */
.vip-current{
  text-align:center;padding:24px;margin-bottom:24px;
  background:#f8fafc;border-radius:var(--radius);font-size:16px;color:var(--text);
}
.vip-current .vip-badge{display:inline-block;margin:0 4px}
.vip-privileges{
  background:#fff;border-radius:var(--radius);padding:28px 30px;
  margin-bottom:24px;box-shadow:var(--shadow-sm);
}
.vip-privileges h3{font-size:18px;font-weight:700;margin-bottom:16px;color:#0f172a}
.vip-privileges ul{list-style:none;padding:0}
.vip-privileges ul li{
  padding:10px 0;font-size:15px;color:var(--text);border-bottom:1px solid #f1f5f9;
}
.vip-privileges ul li i{color:#10b981;margin-right:10px;font-weight:700}
.vip-price{display:flex;justify-content:center;margin-bottom:24px}
.vip-card{text-align:center;width:100%;max-width:360px}
.vip-card .btn-block{margin-top:20px}

/* ---------- 快捷操作 ---------- */
.quick-actions{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.action-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:18px 20px;background:#fff;border-radius:var(--radius);
  color:var(--text);font-size:15px;font-weight:600;
  text-decoration:none;box-shadow:var(--shadow-sm);
  transition:all var(--transition);border:2px solid transparent;
}
.action-btn:hover{
  border-color:var(--primary);color:var(--primary);
  transform:translateY(-2px);box-shadow:var(--shadow);
}
.action-btn i{font-size:18px;opacity:.8}

/* ---------- 响应式 ---------- */
@media(max-width:992px){
  .link-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .header .container{height:58px;gap:14px}
  .logo a{font-size:20px}
  .site-logo-img{height:36px;max-width:145px}
  .nav{
    display:none;position:absolute;top:58px;left:0;right:0;
    background:rgba(15,23,42,.96);backdrop-filter:blur(20px);
    flex-direction:column;padding:16px;z-index:999;gap:4px;
  }
  .nav.open{display:flex}
  .search-bar{padding:36px 0 30px}
  .search-input{padding:14px 20px;padding-right:52px;font-size:15px}
  .search-btn{width:42px;height:42px;font-size:18px}
  .link-grid{grid-template-columns:repeat(2,1fr)}
  .article-full-item{flex-direction:column}
  .article-thumb{width:100%;height:200px}
  .price-table{grid-template-columns:1fr}
  .form-container{padding:24px 20px}
  .page-title h1{font-size:24px}
  .rank-tabs a{padding:10px 14px;font-size:13px}
  .container{padding:0 16px}
  .cate-header{padding:16px 18px}
  .cate-header h2{font-size:16px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .user-stats{grid-template-columns:repeat(2,1fr)}
  .quick-actions{grid-template-columns:repeat(2,1fr)}
  .user-info-card{padding:24px 18px}
  .user-info-card h2{font-size:20px}
  .stat-value{font-size:22px}
}
@media(max-width:480px){
  .link-grid{grid-template-columns:1fr 1fr}
  .link-item{padding:18px 10px}
  .link-item .link-logo,.link-item .link-logo-default{width:38px;height:38px}
  .link-item .link-title{font-size:13px}
  .container{padding:0 12px}
  .quick-actions{grid-template-columns:1fr}
  .auth-box{padding:28px 22px}.url-fetch-row{flex-direction:column}
}
