/* 圣者官网 CMS - 全局样式系统 */
/* 主色：翡翠绿 #10b981 + 金色 #f59e0b */

/* ===== Google Fonts ===== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap');

/* ===== CSS Variables ===== */
:root {
  --emerald-50:  #ecfdf5; --emerald-100: #d1fae5; --emerald-200: #a7f3d0;
  --emerald-300: #6ee7b7; --emerald-400: #34d399; --emerald-500: #10b981;
  --emerald-600: #059669; --emerald-700: #047857; --emerald-800: #065f46;
  --emerald-900: #064e3b; --emerald-950: #022c22;
  --gold-400:    #fbbf24; --gold-500: #f59e0b;  --gold-600: #d97706;
  --gray-50:  #f9fafb;  --gray-100: #f3f4f6; --gray-200: #e5e7eb;
  --gray-300: #d1d5db;  --gray-400: #9ca3af; --gray-500: #6b7280;
  --gray-600: #4b5563;  --gray-700: #374151; --gray-800: #1f2937;
  --gray-900: #111827;
  --radius-sm: 6px; --radius-md: 12px; --radius-lg: 20px; --radius-xl: 28px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,.10);
  --shadow-lg: 0 10px 40px rgba(0,0,0,.12);
  --shadow-emerald: 0 8px 24px rgba(16,185,129,.18);
  --transition: all .3s cubic-bezier(.4,0,.2,1);
  --font: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif;
  --header-h: 60px;
}

/* ===== Reset ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font); color: var(--gray-800); background: var(--gray-50); line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: inherit; border: none; outline: none; }
input, textarea, select { font-family: inherit; outline: none; }

/* ===== Layout ===== */
.sz-container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.sz-container-sm { max-width: 860px; margin: 0 auto; padding: 0 24px; }
.sz-section { padding: 80px 0; }
.sz-section-sm { padding: 48px 0; }


/* ===== Site Top Banner ===== */
.sz-site-banner { position: relative; width: 100%; min-height: 42px; background: linear-gradient(90deg, var(--emerald-500), var(--gold-500)); background-size: cover; background-position: center; color: #fff; z-index: 1000; }
.sz-site-banner-inner { max-width: 1240px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; justify-content: center; gap: 16px; position: relative; }
.sz-site-banner-content { font-size: .9rem; line-height: 1.5; text-align: center; text-decoration: none; color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.15); }
.sz-site-banner-content:hover { text-decoration: underline; }
.sz-site-banner-close { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border: none; border-radius: 50%; background: rgba(255,255,255,.25); color: #fff; font-size: 1.2rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.sz-site-banner-close:hover { background: rgba(255,255,255,.4); }
@media (max-width: 768px) {
  .sz-site-banner-inner { padding: 10px 44px 10px 16px; }
  .sz-site-banner-content { font-size: .82rem; }
  .sz-site-banner-close { right: 10px; }
}

/* ===== Header / Navbar ===== */
#sz-header {
  position: sticky; top: 0; left: 0; right: 0; z-index: 999;
  height: var(--header-h); background: #fff;
  border-bottom: 1px solid var(--gray-100);
  box-shadow: 0 1px 4px rgba(0,0,0,.05);
}
.sz-header-inner { max-width: none; height: 100%; padding: 0 0 0 24px; display: flex; align-items: center; }
.sz-logo { display: flex; align-items: center; gap: 8px; }
.sz-logo-icon { width: 32px; height: 32px; background: linear-gradient(135deg, var(--emerald-400), var(--emerald-600)); border-radius: 6px; display: flex; align-items: center; justify-content: center; }
.sz-logo-icon i { color: #fff; font-size: .9rem; }
.sz-logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.sz-logo-title { font-size: 1.05rem; font-weight: 700; color: var(--gray-900); }
.sz-logo-sub { font-size: .68rem; color: var(--gray-400); letter-spacing: .05em; }
.sz-header-nav { display: flex; align-items: center; margin-left: 24px; height: 100%; }
.sz-header-nav a { display: flex; align-items: center; height: 100%; padding: 0 16px; font-size: 16px; font-weight: 500; color: #333; transition: color .2s; }
.sz-header-nav a:hover { color: var(--emerald-600); }
.sz-header-nav a.active { color: var(--emerald-600); font-weight: 600; }
.sz-header-right { display: flex; align-items: center; margin-left: auto; gap: 0; height: 100%; }
.sz-btn-sm { padding: 7px 18px; border-radius: 99px; font-size: .875rem; font-weight: 600; transition: var(--transition); }
.sz-btn-outline { border: 1.5px solid var(--emerald-500); color: var(--emerald-600); background: transparent; }
.sz-btn-outline:hover { background: var(--emerald-500); color: #fff; }
.sz-btn-primary { background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600)); color: #fff; box-shadow: 0 4px 12px rgba(16,185,129,.3); }
.sz-btn-primary:hover { transform: translateY(-1px); box-shadow: var(--shadow-emerald); }
.sz-btn-gold { background: linear-gradient(135deg, var(--gold-500), var(--gold-600)); color: #fff; box-shadow: 0 4px 12px rgba(245,158,11,.3); }
.sz-btn-gold:hover { transform: translateY(-1px); }
.sz-header-search{display:flex;align-items:center;width:200px;height:32px;padding:0 10px;border:1px solid #d9d9d9;border-radius:2px;background:#fff;margin-right:16px}
.sz-header-search i{color:#9ca3af;font-size:12px}
.sz-header-search input{flex:1;border:none;background:transparent;font-size:13px;padding-left:8px;color:#333}
.sz-header-search:focus-within{border-color:var(--gold-500)}
.sz-header-divider{width:1px;height:14px;background:#e5e7eb;margin:0 12px}
.sz-header-link{font-size:15px;color:#555;transition:color .2s;padding:0 12px}
.sz-header-link:hover{color:var(--gold-500)}
.sz-header-btn{display:inline-flex;align-items:center;height:32px;padding:0 16px;border-radius:99px;font-size:14px;font-weight:600;transition:var(--transition)}
.sz-header-btn-primary{height:100%;border-radius:0;padding:0 28px;background:linear-gradient(135deg,var(--emerald-500),var(--emerald-600));color:#fff;box-shadow:none}
.sz-header-btn-primary:hover{filter:brightness(1.05)}
.sz-header-user{position:relative;display:flex;align-items:center;gap:8px;font-size:14px;color:#333;padding-right:24px;cursor:pointer}
.sz-header-user-trigger{display:flex;align-items:center;gap:8px}
.sz-header-user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--emerald-400),var(--emerald-600));color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}
.sz-header-user-trigger>img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}
.sz-header-user-vip{color:var(--gold-500);font-size:13px}
.sz-header-user-arrow{font-size:11px;color:#999;transition:transform .2s;margin-left:-2px}
.sz-header-user.open .sz-header-user-arrow{transform:rotate(180deg)}
.sz-header-user-menu{position:absolute;top:calc(100% + 8px);right:0;width:180px;background:#fff;border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.12);border:1px solid var(--gray-100);opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .2s;z-index:1000;padding:8px 0;pointer-events:none}
.sz-header-user.open .sz-header-user-menu{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.sz-header-user-menu a{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:14px;color:var(--gray-700);transition:background .15s,color .15s}
.sz-header-user-menu a:hover{background:var(--gray-50);color:var(--emerald-600)}
.sz-header-user-menu a i{width:18px;text-align:center;color:var(--gray-400);transition:color .15s}
.sz-header-user-menu a:hover i{color:var(--emerald-500)}
.sz-header-user-divider{height:1px;background:var(--gray-100);margin:8px 0}
.sz-header-user-logout{color:var(--red-500, #ef4444)!important}
.sz-header-user-logout i{color:var(--red-400, #f87171)!important}
.sz-header-user-logout:hover{background:rgba(239,68,68,.05)!important;color:var(--red-600, #dc2626)!important}
.sz-vip-badge { display: inline-flex; align-items: center; gap: 4px; background: linear-gradient(135deg, var(--gold-400), var(--gold-600)); color: #fff; padding: 2px 8px; border-radius: 99px; font-size: .75rem; font-weight: 700; }

/* Mobile Menu Toggle */
.sz-hamburger { display: none; flex-direction: column; gap: 5px; padding: 8px; cursor: pointer; }
.sz-hamburger span { display: block; width: 22px; height: 2px; background: var(--gray-700); border-radius: 2px; transition: var(--transition); }
.sz-mobile-menu { display: none; position: fixed; top: var(--header-h); left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--gray-100); padding: 16px 24px; z-index: 998; }
.sz-mobile-menu a { display: block; padding: 10px 0; font-size: .95rem; font-weight: 500; color: var(--gray-700); border-bottom: 1px solid var(--gray-100); }
.sz-mobile-menu.open { display: block; }
.sz-mobile-search{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--gray-200);border-radius:8px;margin-bottom:12px}
.sz-mobile-search i{color:#9ca3af;font-size:14px}
.sz-mobile-search input{flex:1;border:none;background:transparent;font-size:14px;color:#333}
.sz-mobile-divider{height:1px;background:var(--gray-100);margin:8px 0}
.sz-mobile-register{color:var(--emerald-600);font-weight:700}

/* Page body offset */
.sz-page-body { padding-top: 0; }

/* ===== Hero Section ===== */
.sz-hero {
  min-height: 600px; display: flex; align-items: center;
  background: linear-gradient(135deg, var(--emerald-800) 0%, var(--emerald-900) 50%, var(--emerald-950) 100%);
  position: relative; overflow: hidden;
}
.sz-hero-bg-grid {
  position: absolute; inset: 0; opacity: .2;
  background-image: linear-gradient(rgba(52,211,153,.15) 1px, transparent 1px), linear-gradient(90deg, rgba(52,211,153,.15) 1px, transparent 1px);
  background-size: 48px 48px;
}
.sz-hero-orb { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .3; animation: szPulse 4s ease-in-out infinite; }
.sz-hero-content { position: relative; z-index: 2; }
.sz-hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.08); backdrop-filter: blur(8px); border: 1px solid rgba(52,211,153,.3); border-radius: 99px; padding: 6px 16px; color: var(--emerald-200); font-size: .85rem; margin-bottom: 24px; }
.sz-hero-badge-dot { width: 7px; height: 7px; background: var(--emerald-400); border-radius: 50%; animation: szPulse 2s ease-in-out infinite; }
.sz-hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 20px; }
.sz-hero-gradient-text { background: linear-gradient(135deg, var(--emerald-300), var(--emerald-400)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.sz-hero p { font-size: 1.1rem; color: rgba(255,255,255,.75); max-width: 560px; margin-bottom: 36px; line-height: 1.8; }
.sz-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; }
.sz-btn-hero-primary { padding: 13px 32px; border-radius: 99px; background: linear-gradient(135deg, var(--gold-500), var(--gold-600)); color: #fff; font-weight: 700; font-size: 1rem; box-shadow: 0 6px 20px rgba(245,158,11,.4); transition: var(--transition); }
.sz-btn-hero-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(245,158,11,.5); }
.sz-btn-hero-ghost { padding: 13px 32px; border-radius: 99px; border: 1.5px solid rgba(52,211,153,.4); color: var(--emerald-100); font-weight: 600; font-size: 1rem; transition: var(--transition); }
.sz-btn-hero-ghost:hover { background: rgba(52,211,153,.1); border-color: var(--emerald-400); }
.sz-hero-stats { display: flex; gap: 40px; margin-top: 48px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.1); }
.sz-hero-stat-num { font-size: 2rem; font-weight: 800; color: #fff; }
.sz-hero-stat-label { font-size: .8rem; color: rgba(255,255,255,.5); margin-top: 2px; }

/* ===== Card Components ===== */
.sz-card { background: #fff; border-radius: var(--radius-md); border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm); transition: var(--transition); overflow: hidden; }
.sz-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--emerald-200); }
.sz-card-body { padding: 24px; }
.sz-card-cover { width: 100%; height: 200px; object-fit: cover; }

/* 渐变卡片 */
.sz-card-gradient { background: linear-gradient(135deg, var(--emerald-700), var(--emerald-900)); color: #fff; border: none; }
.sz-card-gradient:hover { box-shadow: var(--shadow-emerald); }

/* ===== Section Headers ===== */
.sz-section-header { text-align: center; margin-bottom: 56px; }
.sz-section-tag { display: inline-block; font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--emerald-600); background: var(--emerald-50); padding: 4px 12px; border-radius: 99px; margin-bottom: 12px; }
.sz-section-title { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; color: var(--gray-900); margin-bottom: 14px; }
.sz-section-desc { font-size: 1rem; color: var(--gray-500); max-width: 560px; margin: 0 auto; }

/* ===== Grid Layouts ===== */
.sz-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.sz-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sz-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }

/* ===== Badge / Tags ===== */
.sz-tag { display: inline-block; padding: 3px 10px; border-radius: 99px; font-size: .75rem; font-weight: 600; }
.sz-tag-emerald { background: var(--emerald-50); color: var(--emerald-700); }
.sz-tag-gold { background: #fef3c7; color: var(--gold-600); }
.sz-tag-gray { background: var(--gray-100); color: var(--gray-600); }
.sz-vip-lock { display: inline-flex; align-items: center; gap: 5px; background: linear-gradient(135deg, var(--gold-400), var(--gold-600)); color: #fff; padding: 3px 10px; border-radius: 99px; font-size: .75rem; font-weight: 700; }

/* ===== VIP Content Mask ===== */
.sz-vip-mask-wrap { position: relative; overflow: hidden; max-height: 200px; }
.sz-vip-mask-wrap::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 120px; background: linear-gradient(to bottom, transparent, var(--gray-50)); }
.sz-vip-cta { text-align: center; padding: 24px; background: linear-gradient(135deg, var(--emerald-50), #fef9e7); border: 1px solid var(--emerald-200); border-radius: var(--radius-md); margin-top: 16px; }
.sz-vip-cta h4 { font-size: 1rem; color: var(--gray-800); margin-bottom: 12px; }

/* ===== Form Elements ===== */
.sz-form-group { margin-bottom: 20px; }
.sz-label { display: block; font-size: .875rem; font-weight: 600; color: var(--gray-700); margin-bottom: 6px; }
.sz-input { width: 100%; padding: 11px 14px; border: 1.5px solid var(--gray-200); border-radius: var(--radius-sm); font-size: .95rem; color: var(--gray-900); background: #fff; transition: var(--transition); }
.sz-input:focus { border-color: var(--emerald-400); box-shadow: 0 0 0 3px rgba(16,185,129,.1); }
.sz-textarea { resize: vertical; min-height: 120px; }
.sz-select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; padding-right: 40px; }

/* ===== Buttons ===== */
.sz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 22px; border-radius: var(--radius-sm); font-size: .9rem; font-weight: 600; transition: var(--transition); }
.sz-btn-full { width: 100%; }
.sz-btn-lg { padding: 13px 28px; font-size: 1rem; border-radius: var(--radius-md); }
.sz-btn-danger { background: #fee2e2; color: #dc2626; }
.sz-btn-danger:hover { background: #fca5a5; }

/* ===== Alert Box ===== */
.sz-alert { padding: 12px 16px; border-radius: var(--radius-sm); font-size: .9rem; margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.sz-alert-success { background: var(--emerald-50); color: var(--emerald-700); border: 1px solid var(--emerald-200); }
.sz-alert-error { background: #fee2e2; color: #b91c1c; border: 1px solid #fca5a5; }
.sz-alert-info { background: #fef3c7; color: var(--gold-600); border: 1px solid #fde68a; }
.sz-alert-warning { background: #fffbeb; color: var(--gold-600); border: 1px solid #fde68a; }

/* ===== Pagination ===== */
.sz-pager { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 32px 0; }
.sz-pager-btn { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 10px; border-radius: var(--radius-sm); font-size: .875rem; font-weight: 500; color: var(--gray-600); background: #fff; border: 1.5px solid var(--gray-200); transition: var(--transition); }
.sz-pager-btn:hover { border-color: var(--emerald-400); color: var(--emerald-600); }
.sz-pager-btn.active { background: var(--emerald-500); border-color: var(--emerald-500); color: #fff; }

/* ===== Sidebar Layout ===== */
.sz-layout-with-sidebar { display: grid; grid-template-columns: 1fr 300px; gap: 32px; align-items: start; }
.sz-sidebar { position: sticky; top: calc(var(--header-h) + 20px); }
.sz-sidebar-widget { background: #fff; border-radius: var(--radius-md); border: 1px solid var(--gray-100); padding: 20px; margin-bottom: 20px; }
.sz-sidebar-widget h4 { font-size: .9rem; font-weight: 700; color: var(--gray-800); margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid var(--gray-100); }

/* ===== Post/Article ===== */
.sz-post-meta { display: flex; align-items: center; gap: 16px; font-size: .85rem; color: var(--gray-400); flex-wrap: wrap; }
.sz-post-meta i { margin-right: 4px; }
.sz-post-content { font-size: 1rem; line-height: 1.9; color: var(--gray-700); }
.sz-post-content h2 { font-size: 1.4rem; font-weight: 700; margin: 28px 0 12px; color: var(--gray-900); }
.sz-post-content h3 { font-size: 1.2rem; font-weight: 700; margin: 24px 0 10px; color: var(--gray-800); }
.sz-post-content p { margin-bottom: 16px; }
.sz-post-content img { border-radius: var(--radius-md); margin: 20px 0; }
.sz-post-content pre { background: var(--gray-900); color: #e5e7eb; padding: 20px; border-radius: var(--radius-md); overflow-x: auto; margin: 20px 0; font-size: .875rem; line-height: 1.7; }
.sz-post-content code { background: var(--gray-100); color: var(--emerald-700); padding: 2px 6px; border-radius: 4px; font-size: .875em; }
.sz-post-content blockquote { border-left: 4px solid var(--emerald-400); padding: 12px 20px; background: var(--emerald-50); color: var(--gray-700); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin: 20px 0; }
.sz-post-content ul, .sz-post-content ol { padding-left: 1.5em; margin-bottom: 16px; }
.sz-post-content ul li { list-style: disc; margin-bottom: 6px; }
.sz-post-content ol li { list-style: decimal; margin-bottom: 6px; }
.sz-post-content table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.sz-post-content th, .sz-post-content td { padding: 10px 14px; border: 1px solid var(--gray-200); }
.sz-post-content th { background: var(--gray-50); font-weight: 700; }

/* ===== Community ===== */

/* Tabs */
.sz-community-tabsbar { display: flex; align-items: center; gap: 4px; padding: 12px 0; border-bottom: 1px solid var(--gray-100); background: transparent; }
.sz-community-tabsbar a { position: relative; padding: 10px 16px; font-size: 15px; color: var(--gray-600); transition: color .2s; white-space: nowrap; }
.sz-community-tabsbar a:hover { color: var(--emerald-600); }
.sz-community-tabsbar a.active { color: var(--emerald-600); font-weight: 600; }
.sz-community-tabsbar a.active::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--emerald-600); }

/* Sort bar */
.sz-community-sortbar { display: flex; align-items: center; gap: 12px; padding: 16px 0; font-size: 14px; color: var(--gray-400); }
.sz-community-sortbar a { color: var(--gray-500); }
.sz-community-sortbar a.active { color: var(--emerald-600); font-weight: 600; }
.sz-community-sortbar a:hover { color: var(--emerald-600); }
.sz-community-divider { color: var(--gray-300); }

/* Post list */
.sz-community-list { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px; overflow: hidden; }
.sz-community-item { display: flex; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--gray-100); transition: background .2s; }
.sz-community-item:last-child { border-bottom: none; }
.sz-community-item:hover { background: var(--gray-50); }
.sz-community-avatar { width: 44px; height: 44px; border-radius: 50%; background: var(--emerald-500); flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 600; font-size: 1rem; overflow: hidden; }
.sz-forum-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--emerald-500); flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 600; font-size: .9rem; overflow: hidden; }
.sz-forum-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sz-community-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sz-community-body { flex: 1; min-width: 0; }
.sz-community-thumb { flex: 0 0 120px; width: 120px; height: 84px; border-radius: 8px; overflow: hidden;
                      background: var(--gray-100); align-self: center; }
.sz-community-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s; }
.sz-community-thumb:hover img { transform: scale(1.05); }
/* 版块标签：带版块图标（图标原来在列表右侧的大按钮里，现已挪到这里） */
.sz-community-tag { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; background: #fef3c7; color: var(--gold-600); font-size: 12px; border-radius: 2px; margin-bottom: 8px; }
.sz-community-tag i { font-size: .78rem; }
.sz-community-tag:hover { background: #fde68a; }
.sz-community-title { display: block; font-size: 1.05rem; font-weight: 600; color: var(--gray-900); line-height: 1.4; margin-bottom: 6px; }
.sz-community-title:hover { color: var(--gold-500); }
.sz-community-pinned { display: inline-flex; align-items: center; gap: 4px; color: var(--emerald-600); font-size: .75rem; background: var(--emerald-50); padding: 2px 8px; border-radius: 2px; margin-right: 6px; font-weight: 600; }
.sz-community-excerpt { font-size: .875rem; color: var(--gray-500); line-height: 1.6; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sz-community-meta { display: flex; align-items: center; gap: 12px; font-size: .8rem; color: var(--gray-400); flex-wrap: wrap; }
.sz-community-meta-avatar { width: 18px; height: 18px; border-radius: 50%; object-fit: cover; }
.sz-community-author { color: var(--gray-600); }
.sz-community-vip { color: var(--gold-500); font-size: .8rem; }
.sz-community-stat { display: inline-flex; align-items: center; gap: 4px; }
.sz-community-empty { padding: 60px 24px; text-align: center; color: var(--gray-400); }

/* Sidebar widget（社区右栏各模块共用） */
.sz-community-widget { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px; padding: 16px 20px; }
.sz-community-widget-title { display: flex; align-items: center; gap: 8px; font-size: 1rem; font-weight: 700; color: var(--gray-900); margin-bottom: 14px; }
.sz-community-titlebar { width: 4px; height: 16px; background: var(--gold-500); border-radius: 1px; }
.sz-community-more { margin-left: auto; font-size: .8rem; font-weight: 400; color: var(--gray-500); }
.sz-community-more:hover { color: var(--gold-500); }
.sz-community-more i { font-size: .7rem; margin-left: 2px; }

/* Activity button（左栏社区活动用） */
.sz-community-activity-btn { display: inline-flex; align-items: center; justify-content: center; padding: 7px 18px; border: 1px solid var(--gold-500); color: var(--gold-500); border-radius: 2px; font-size: .85rem; font-weight: 500; flex-shrink: 0; white-space: nowrap; }
.sz-community-activity-btn:hover { background: var(--gold-500); color: #fff; }

/* Author ranking */
.sz-community-authorrank { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
.sz-community-rank { width: 22px; height: 22px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: .75rem; font-weight: 700; border-radius: 2px; flex-shrink: 0; }
.sz-community-rank-avatar { width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(135deg, var(--emerald-400), var(--emerald-600)); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .85rem; font-weight: 600; overflow: hidden; flex-shrink: 0; }
.sz-community-rank-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sz-community-rank-body { flex: 1; min-width: 0; }
.sz-community-rank-name { font-size: .85rem; font-weight: 600; color: var(--gray-800); }
.sz-community-rank-score { font-size: .75rem; color: var(--gray-400); }

@media (max-width: 768px) {
  .sz-community-tabsbar { overflow-x: auto; }
}

/* ===== User Profile ===== */
.sz-user-card { display: flex; align-items: center; gap: 16px; padding: 24px; background: linear-gradient(135deg, var(--emerald-50), #fef9e7); border-radius: var(--radius-lg); border: 1px solid var(--emerald-100); }
.sz-avatar-lg { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; border: 3px solid var(--emerald-200); }
.sz-avatar-placeholder { width: 72px; height: 72px; border-radius: 50%; background: linear-gradient(135deg, var(--emerald-400), var(--emerald-600)); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.8rem; font-weight: 700; }

/* ===== Admin Layout ===== */
.sz-admin-wrap { display: flex; min-height: 100vh; background: #f0f4f8; }
.sz-admin-sidebar { width: 240px; background: var(--gray-900); color: #fff; flex-shrink: 0; position: fixed; top: 0; left: 0; bottom: 0; overflow-y: auto; }
.sz-admin-logo { padding: 20px 20px 16px; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 1rem; font-weight: 700; display: flex; align-items: center; gap: 10px; }
.sz-admin-logo-icon { width: 32px; height: 32px; background: linear-gradient(135deg, var(--emerald-500), var(--emerald-700)); border-radius: 8px; display: flex; align-items: center; justify-content: center; }
.sz-admin-nav { padding: 12px 0; }
.sz-admin-nav-group { padding: 8px 16px 4px; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: rgba(255,255,255,.3); font-weight: 700; }
.sz-admin-nav a { display: flex; align-items: center; gap: 10px; padding: 9px 16px; font-size: .875rem; color: rgba(255,255,255,.65); transition: var(--transition); border-radius: 0; }
.sz-admin-nav a:hover, .sz-admin-nav a.active { color: #fff; background: rgba(16,185,129,.2); }
.sz-admin-nav a.active { border-left: 3px solid var(--emerald-400); }
.sz-admin-nav a i { width: 18px; text-align: center; }
.sz-admin-main { margin-left: 240px; flex: 1; }
.sz-admin-topbar { background: #fff; border-bottom: 1px solid var(--gray-200); padding: 0 28px; height: 60px; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 100; }
.sz-admin-content { padding: 28px; }
.sz-admin-card { background: #fff; border-radius: var(--radius-md); padding: 24px; border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm); margin-bottom: 24px; }
.sz-admin-card-title { font-size: 1rem; font-weight: 700; color: var(--gray-800); margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--gray-100); display: flex; align-items: center; gap: 8px; }
.sz-stat-card { text-align: center; }
.sz-stat-num { font-size: 2rem; font-weight: 800; color: var(--emerald-600); }
.sz-stat-label { font-size: .85rem; color: var(--gray-500); margin-top: 4px; }

/* ===== Table ===== */
.sz-table { width: 100%; border-collapse: collapse; }
.sz-table th { background: var(--gray-50); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--gray-500); padding: 10px 14px; text-align: left; border-bottom: 1px solid var(--gray-200); }
.sz-table td { padding: 12px 14px; border-bottom: 1px solid var(--gray-100); font-size: .875rem; color: var(--gray-700); }
.sz-table tr:hover td { background: var(--gray-50); }

/* ===== Footer ===== */
#sz-footer { background: var(--gray-900); color: rgba(255,255,255,.7); padding: 60px 0 28px; }
.sz-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 48px; }
.sz-footer-brand p { font-size: .875rem; color: rgba(255,255,255,.5); margin-top: 12px; line-height: 1.7; }
.sz-footer-col h4 { font-size: .875rem; font-weight: 700; color: #fff; margin-bottom: 16px; }
.sz-footer-col a { display: block; font-size: .85rem; color: rgba(255,255,255,.5); padding: 3px 0; transition: var(--transition); }
.sz-footer-col a:hover { color: var(--emerald-400); }
.sz-footer-bottom { border-top: 1px solid rgba(255,255,255,.08); padding-top: 24px; display: flex; align-items: center; justify-content: space-between; font-size: .8rem; }

/* ===== Animations ===== */
@keyframes szPulse {
  0%, 100% { opacity: .5; transform: scale(1); }
  50%       { opacity: .8; transform: scale(1.05); }
}

/* ===== Home Hero 2 (Tencent-style) ===== */
.sz-hero2 { position: relative; overflow: hidden; background: radial-gradient(1200px 520px at 82% -12%, rgba(16,185,129,.06), transparent 60%), radial-gradient(900px 420px at 0% 115%, rgba(5,150,105,.05), transparent 60%), linear-gradient(180deg, #f6f9fd 0%, #edf2f8 100%); padding: 36px 0 36px; }
.sz-hero2-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.sz-hero2-blob { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .5; animation: szFloat 8s ease-in-out infinite; }
.sz-hero2-blob-1 { width: 560px; height: 560px; background: #6ee7b7; top: -160px; left: -200px; }
.sz-hero2-blob-2 { width: 480px; height: 480px; background: #34d399; bottom: -140px; right: -140px; animation-delay: 2s; }
.sz-hero2-blob-3 { width: 320px; height: 320px; background: #10b981; top: 28%; left: 46%; opacity: .35; animation-delay: 1s; }
.sz-hero2-grid-bg { position: absolute; inset: 0; background-image: linear-gradient(rgba(16,185,129,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(16,185,129,.04) 1px, transparent 1px); background-size: 48px 48px; }
.sz-hero2-inner { position: relative; z-index: 1; }
.sz-hero2-grid { display: grid; grid-template-columns: 266px 2px 1fr; gap: 32px; align-items: stretch; min-height: 340px; }
.sz-hero2-nav { display: flex; flex-direction: column; gap: 4px; padding-top: 4px; }
.sz-hero2-nav-item { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 10px 6px; font-size: 16px; color: var(--gray-600); cursor: pointer; transition: color .2s; text-decoration: none; line-height: 1.4; background: transparent; border: 0; font-weight: 400; }
.sz-hero2-nav-item:hover { color: var(--emerald-600); }
.sz-hero2-nav-item.active { color: var(--emerald-700); font-weight: 700; }
.sz-hero2-tag { background: rgba(16,185,129,.1); color: var(--emerald-700); font-size: 12px; font-weight: 600; padding: 0 6px; line-height: 22px; height: 22px; border-radius: 2px; flex-shrink: 0; letter-spacing: .02em; display: inline-flex; align-items: center; justify-content: center; }
.sz-hero2-nav-item.active .sz-hero2-tag { background: var(--emerald-600); color: #fff; }
.sz-hero2-nav-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sz-hero2-divider { position: relative; width: 2px; background: rgba(255,255,255,.85); align-self: stretch; }
.sz-hero2-divider::before { content: ''; position: absolute; left: -1px; right: -1px; top: var(--ind-top, 0px); height: 0; background: var(--emerald-500); transition: top .35s cubic-bezier(.4,0,.2,1), height .35s cubic-bezier(.4,0,.2,1); }
.sz-hero2-divider.has-active::before { height: 42px; }
.sz-hero2-stage { position: relative; padding: 0; overflow: hidden; min-height: 340px; background: transparent; }
.sz-hero2-slide { display: none; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; height: 100%; animation: szFadeIn .5s ease both; }
.sz-hero2-slide.active { display: grid; }
.sz-hero2-slide-text { display: flex; flex-direction: column; height: 100%; min-height: 280px; }
.sz-hero2-subtitle { display: inline-block; align-self: flex-start; background: rgba(16,185,129,.15); color: #047857; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 4px; margin-bottom: 14px; }
.sz-hero2-title { font-size: 30px; font-weight: 800; color: #0f172a; line-height: 1.25; margin-bottom: 12px; letter-spacing: -.01em; }
.sz-hero2-summary { font-size: 14px; color: var(--gray-600); line-height: 1.65; max-width: 460px; }
.sz-hero2-btns { display: flex; gap: 12px; margin-top: auto; padding-top: 18px; }
.sz-hero2-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 32px; background: var(--emerald-600); color: #fff; font-weight: 700; font-size: 15px; border-radius: 6px; transition: var(--transition); text-decoration: none; box-shadow: 0 6px 16px rgba(5,150,105,.28); }
.sz-hero2-btn:hover { background: var(--emerald-700); box-shadow: 0 8px 22px rgba(5,150,105,.34); transform: translateY(-1px); }
.sz-hero2-slide-img { display: flex; align-items: center; justify-content: center; position: relative; background: transparent; border: 0; box-shadow: none; overflow: visible; }
.sz-hero2-slide-img img { max-width: 100%; max-height: 300px; width: auto; height: auto; background: transparent; border: 0; box-shadow: none; animation: szHeroRun 5s ease-in-out infinite; }
/* ===== Hero 主题背景（随 Tab 切换变换：空间/网格/游离子/泼墨） ===== */
.sz-hero2-theme { position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .6s ease; pointer-events: none; }
.sz-hero2.theme-0 .sz-hero2-theme-0,
.sz-hero2.theme-1 .sz-hero2-theme-1,
.sz-hero2.theme-2 .sz-hero2-theme-2,
.sz-hero2.theme-3 .sz-hero2-theme-3 { opacity: 1; }
.sz-hero2-grid-bg-strong { background-image: linear-gradient(rgba(16,185,129,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(16,185,129,.10) 1px, transparent 1px); background-size: 30px 30px; opacity: 1; }
/* 网格感：径向遮罩，局部明显、向边缘渐淡，形成聚光空间感 */
.sz-hero2-theme-1 .sz-hero2-grid-bg { -webkit-mask-image: radial-gradient(circle at 66% 36%, #000 0%, rgba(0,0,0,.3) 42%, transparent 76%); mask-image: radial-gradient(circle at 66% 36%, #000 0%, rgba(0,0,0,.3) 42%, transparent 76%); }
/* 空间感：淡进淡出呼吸，错峰明灭强化景深 */
@keyframes szSpaceBreath { 0%,100% { transform: translateY(0) scale(1); opacity: .18; } 50% { transform: translateY(-26px) scale(1.12); opacity: .72; } }
.sz-hero2-theme-0 .sz-hero2-blob { animation: szSpaceBreath 7s ease-in-out infinite; transform-origin: center; }
.sz-hero2-theme-0 .sz-hero2-blob-1 { animation-duration: 8.5s; animation-delay: 0s; }
.sz-hero2-theme-0 .sz-hero2-blob-2 { animation-duration: 9.5s; animation-delay: 1.8s; }
.sz-hero2-theme-0 .sz-hero2-blob-3 { animation-duration: 7.5s; animation-delay: 3.2s; }
/* 游离子感：浮动粒子（大小/亮度分层，强化景深） */
.sz-hero-particle { position: absolute; border-radius: 50%; background: rgba(16,185,129,.65); box-shadow: 0 0 12px rgba(16,185,129,.5); animation: szParticle 6s ease-in-out infinite; }
.sz-hero-particle.p2, .sz-hero-particle.p4, .sz-hero-particle.p6, .sz-hero-particle.p7 { background: rgba(5,150,105,.5); box-shadow: 0 0 6px rgba(16,185,129,.35); animation-name: szParticleSmall; }
.sz-hero-particle.p1 { width: 42px; height: 42px; top: 12%; left: 16%; }
.sz-hero-particle.p2 { width: 8px;  height: 8px;  top: 66%; left: 27%; animation-delay: 1s; }
.sz-hero-particle.p3 { width: 34px; height: 34px; top: 32%; left: 73%; background: rgba(16,185,129,.5); animation-delay: 2s; }
.sz-hero-particle.p4 { width: 6px;  height: 6px;  top: 82%; left: 58%; animation-delay: 1.5s; }
.sz-hero-particle.p5 { width: 22px; height: 22px; top: 22%; left: 51%; background: rgba(5,150,105,.55); animation-delay: .5s; }
.sz-hero-particle.p6 { width: 12px; height: 12px; top: 50%; left: 11%; background: rgba(16,185,129,.6); animation-delay: 2.5s; }
.sz-hero-particle.p7 { width: 7px;  height: 7px;  top: 17%; left: 87%; animation-delay: 3s; }
.sz-hero-particle.p8 { width: 28px; height: 28px; top: 71%; left: 82%; background: rgba(5,150,105,.55); animation-delay: 1.8s; }
@keyframes szParticle { 0%,100% { transform: translate(0,0) scale(1); opacity: .55; } 50% { transform: translate(14px,-30px) scale(1.2); opacity: 1; } }
@keyframes szParticleSmall { 0%,100% { transform: translate(0,0) scale(1); opacity: .22; } 50% { transform: translate(10px,-16px) scale(1.15); opacity: .6; } }
/* 泼墨感 */
.sz-hero-ink { position: absolute; background: rgba(16,185,129,.10); filter: blur(2px); border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; animation: szInk 9s ease-in-out infinite; }
.sz-hero-ink.i1 { width: 220px; height: 200px; top: -30px; left: -40px; }
.sz-hero-ink.i2 { width: 160px; height: 170px; bottom: -40px; right: 8%; background: rgba(5,150,105,.10); animation-delay: 1.5s; }
.sz-hero-ink.i3 { width: 120px; height: 130px; top: 30%; left: 55%; background: rgba(16,185,129,.08); animation-delay: 3s; }
.sz-hero-ink.i4 { width: 90px; height: 90px; bottom: 10%; left: 28%; background: rgba(5,150,105,.12); animation-delay: 2s; }
@keyframes szInk { 0%,100% { transform: translate(0,0) rotate(0deg) scale(1); } 50% { transform: translate(10px,-8px) rotate(6deg) scale(1.04); } }
@keyframes szFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 900px) {
  .sz-hero2 { padding: 28px 0 28px; }
  .sz-hero2-grid { grid-template-columns: 1fr; gap: 16px; min-height: 0; }
  .sz-hero2-divider { display: none; }
  .sz-hero2-nav { flex-direction: row; overflow-x: auto; padding-bottom: 8px; }
  .sz-hero2-nav-item { flex-shrink: 0; white-space: nowrap; padding: 8px 12px; }
  .sz-hero2-nav-item .sz-hero2-tag { font-size: 14px; }
  .sz-hero2-slide { grid-template-columns: 1fr; }
  .sz-hero2-slide-text { min-height: 0; }
  .sz-hero2-btns { margin-top: 16px; padding-top: 0; }
  .sz-hero2-title { font-size: 22px; }
  .sz-hero2-slide-img { order: -1; }
  .sz-hero2-slide-img img { max-height: 220px; }
}
/* ===== Hero 产品卡片（Tencent 风格） ===== */
.sz-hero-products { background: #fff; border-bottom: 1px solid var(--gray-200); }
.sz-hero-product-grid { display: grid; grid-template-columns: repeat(4, 25%); align-items: stretch; }
.sz-hero-product-card { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; min-height: 88px; padding: 20px 28px; text-decoration: none; color: inherit; background: transparent; border: 0; border-radius: 0; border-right: 1px solid #eef2f7; transition: background .2s ease; }
.sz-hero-product-card:last-child { border-right: 0; }
.sz-hero-product-main { min-width: 0; flex: 1; }
.sz-hero-product-tag { display: block; font-size: 12px; color: #94a3b8; margin-bottom: 4px; line-height: 1.4; }
.sz-hero-product-title { font-size: 15px; font-weight: 400; color: #0f172a; line-height: 1.55; transition: color .2s ease; }
.sz-hero-product-card:hover .sz-hero-product-title { color: var(--emerald-600); }
.sz-hero-product-arrow { flex-shrink: 0; font-size: 13px; color: #b0b8c4; transition: transform .2s ease, color .2s ease; }
.sz-hero-product-card:hover .sz-hero-product-arrow { transform: translateX(4px); color: var(--emerald-600); }
.sz-hero-product-card:hover { background: rgba(16,185,129,.04); }
@media (max-width: 1024px) {
  .sz-hero-product-grid { grid-template-columns: repeat(2, 50%); }
  .sz-hero-product-card:nth-child(2n) { border-right: 0; }
  .sz-hero-product-card:nth-child(1),
  .sz-hero-product-card:nth-child(2) { border-bottom: 1px solid #eef2f7; }
}
@media (max-width: 640px) {
  .sz-hero-product-grid { grid-template-columns: 100%; }
  .sz-hero-product-card { border-right: 0; border-bottom: 1px solid #eef2f7; padding: 16px 20px; }
  .sz-hero-product-card:last-child { border-bottom: 0; }
}
@keyframes szFloat {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-12px); }
}
@keyframes szHeroRun {
  0%, 100% { transform: translateY(0) scale(1) rotate(0deg); }
  25%      { transform: translateY(-10px) scale(1.02) rotate(1deg); }
  50%      { transform: translateY(-5px) scale(0.99) rotate(-0.5deg); }
  75%      { transform: translateY(-12px) scale(1.01) rotate(0.5deg); }
}
@keyframes szFadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.sz-reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
.sz-reveal.visible { opacity: 1; transform: translateY(0); }

/* ===== 多语言支持站群 ===== */
.sz-multilang-section { position: relative; padding: 88px 0; background: linear-gradient(120deg, #059669 0%, #10b981 32%, #34d399 46%, #fbbf24 72%, #f59e0b 100%); overflow: hidden; color: #fff; }
.sz-multilang-section::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 48px 48px; }
.sz-multilang-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.sz-multilang-media img { width: 100%; height: auto; display: block; filter: drop-shadow(0 20px 40px rgba(0,0,0,.18)); }
.sz-multilang-tag { display: inline-block; padding: 6px 16px; border-radius: 99px; background: rgba(255,255,255,.18); color: #fff; font-size: .8rem; font-weight: 700; letter-spacing: .05em; margin-bottom: 18px; }
.sz-multilang-title { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 800; margin-bottom: 18px; text-shadow: 0 2px 10px rgba(0,0,0,.12); }
.sz-multilang-desc { font-size: 1.02rem; line-height: 1.85; color: rgba(255,255,255,.92); margin-bottom: 26px; max-width: 560px; }
.sz-multilang-points { display: flex; flex-direction: column; gap: 14px; margin-bottom: 30px; }
.sz-multilang-point { display: flex; align-items: center; gap: 12px; font-size: .98rem; font-weight: 500; color: #fff; }
.sz-multilang-point i { color: #fff; font-size: 1.1rem; flex-shrink: 0; filter: drop-shadow(0 2px 6px rgba(0,0,0,.2)); }
.sz-multilang-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 32px; border-radius: 99px; background: #fff; color: #065f46; font-weight: 700; font-size: 1rem; transition: transform .25s ease, box-shadow .25s ease; box-shadow: 0 10px 26px rgba(0,0,0,.18); }
.sz-multilang-btn:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(0,0,0,.24); }
.sz-multilang-btn i { transition: transform .25s ease; }
.sz-multilang-btn:hover i { transform: translateX(4px); }
@media (max-width: 900px) {
  .sz-multilang-section { padding: 64px 0; }
  .sz-multilang-inner { grid-template-columns: 1fr; gap: 32px; }
  .sz-multilang-media { order: -1; max-width: 420px; margin: 0 auto; }
}

/* ===== 信任数据条 ===== */
.sz-trust-bar { background: linear-gradient(135deg, var(--emerald-700) 0%, var(--emerald-500) 45%, var(--gold-500) 100%); padding: 64px 0; position: relative; overflow: hidden; }
.sz-trust-bar::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 48px 48px; }
.sz-trust-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.sz-trust-item { padding: 24px; text-align: center; color: #fff; border-right: 1px solid rgba(255,255,255,.18); }
.sz-trust-item:last-child { border-right: none; }
.sz-trust-num { font-size: clamp(2.2rem, 4.5vw, 3rem); font-weight: 800; line-height: 1; color: #fff; text-shadow: 0 4px 14px rgba(0,0,0,.12); }
.sz-trust-plus { font-size: .55em; font-weight: 700; color: rgba(255,255,255,.85); }
.sz-trust-label { margin-top: 10px; font-size: .95rem; color: rgba(255,255,255,.85); font-weight: 500; }
@media (max-width: 768px) {
  .sz-trust-bar { padding: 48px 0; }
  .sz-trust-grid { grid-template-columns: repeat(2, 1fr); }
  .sz-trust-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.15); padding: 24px 16px; }
  .sz-trust-item:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.15); }
  .sz-trust-item:nth-last-child(1), .sz-trust-item:nth-last-child(2) { border-bottom: none; }
}

/* ===== 核心优势 ===== */
.sz-features-section { background: #fff; padding: 80px 0; }
.sz-features-section .sz-section-header { text-align: center; margin-bottom: 52px; }
.sz-features-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.sz-feature-card { background: #fff; border: 1px solid var(--gray-100); border-radius: 10px; padding: 32px; text-align: center; box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.sz-feature-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--emerald-200); }
.sz-feature-icon { width: 56px; height: 56px; border-radius: 14px; background: var(--emerald-500); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.45rem; margin: 0 auto 20px; }
.sz-feature-icon svg { width: 28px; height: 28px; }
.sz-feature-icon.gold { background: var(--gold-500); }
.sz-feature-title { font-size: 1.12rem; font-weight: 700; color: var(--gray-900); margin-bottom: 10px; }
.sz-feature-desc { font-size: .92rem; color: var(--gray-500); line-height: 1.7; }
@media (max-width: 1024px) {
  .sz-features-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .sz-features-section { padding: 60px 0; }
  .sz-features-grid { grid-template-columns: 1fr; }
}

/* ===== AI 赋能站群 ===== */
.sz-ai-section { background: var(--gray-50); padding: 80px 0; }
.sz-ai-section .sz-section-header { text-align: center; margin-bottom: 44px; }
.sz-ai-tabs { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 44px; }
.sz-ai-tab { padding: 12px 28px; border: 1.5px solid var(--gray-200); border-radius: 99px; background: #fff; color: var(--gray-600); font-size: .95rem; font-weight: 600; cursor: pointer; transition: all .2s ease; }
.sz-ai-tab:hover { border-color: var(--emerald-400); color: var(--emerald-600); }
.sz-ai-tab.active { background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600)); color: #fff; border-color: transparent; box-shadow: 0 6px 18px rgba(16,185,129,.3); }
.sz-ai-panels { position: relative; }
.sz-ai-panel { display: none; }
.sz-ai-panel.active { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; animation: szFadeUp .5s ease; }
.sz-ai-panel-img { border-radius: 22px; min-height: 360px; background: transparent; border: none; position: relative; overflow: hidden; }
.sz-ai-panel-img.gold { border-color: transparent; }
.sz-ai-illu { position: absolute; inset: 0; width: 100%; height: 100%; }
.sz-ai-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.sz-ai-panel-text h2 { font-size: 1.9rem; font-weight: 800; color: var(--gray-900); margin-bottom: 18px; }
.sz-ai-panel-text p { font-size: 1rem; color: var(--gray-500); line-height: 1.85; }
.sz-ai-points { margin-top: 26px; display: flex; flex-direction: column; gap: 14px; }
.sz-ai-point { display: flex; align-items: center; gap: 12px; color: var(--gray-700); font-size: .95rem; font-weight: 500; }
.sz-ai-point i { color: var(--emerald-500); font-size: 1.1rem; flex-shrink: 0; }
@keyframes szAiGridDrift { 0% { background-position: 0 0; } 100% { background-position: 40px 40px; } }
@keyframes szAiNodeFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes szAiIconFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes szAiDash { to { stroke-dashoffset: -14; } }
@media (max-width: 900px) {
  .sz-ai-panel.active { grid-template-columns: 1fr; gap: 28px; }
  .sz-ai-panel-img { min-height: 220px; font-size: 3.5rem; }
  .sz-ai-panel-text h2 { font-size: 1.6rem; }
}
@media (max-width: 640px) {
  .sz-ai-section { padding: 60px 0; }
}

/* ===== SEO工具助手 ===== */
.sz-seo-section { position: relative; padding: 80px 0; background: var(--gray-50); color: var(--gray-900); overflow: hidden; }
.sz-seo-section::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(16,185,129,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(16,185,129,.04) 1px, transparent 1px); background-size: 48px 48px; }
.sz-seo-section .sz-section-header { position: relative; z-index: 1; text-align: center; margin-bottom: 44px; }
.sz-seo-section .sz-section-tag { display: inline-block; padding: 6px 16px; border-radius: 99px; background: rgba(16,185,129,.1); color: var(--emerald-600); font-size: .8rem; font-weight: 700; letter-spacing: .05em; }
.sz-seo-section .sz-section-title { color: var(--gray-900); }
.sz-seo-section .sz-section-desc { color: var(--gray-500); }
.sz-seo-workspace { position: relative; z-index: 1; display: grid; grid-template-columns: 260px 1fr; gap: 32px; background: #fff; border: 1px solid var(--gray-100); border-radius: 24px; padding: 28px; box-shadow: 0 20px 50px rgba(0,0,0,.05); }
.sz-seo-tabs { display: flex; flex-direction: column; gap: 10px; }
.sz-seo-tab { display: flex; align-items: center; gap: 14px; width: 100%; padding: 15px 16px; border-radius: 14px; background: var(--gray-50); border: 1px solid var(--gray-100); color: var(--gray-600); font-size: .93rem; font-weight: 600; cursor: pointer; transition: all .2s ease; text-align: left; }
.sz-seo-tab i { font-size: 1.2rem; width: 26px; text-align: center; color: var(--emerald-500); transition: color .2s ease; }
.sz-seo-tab:hover { background: var(--gray-100); color: var(--gray-900); }
.sz-seo-tab.active { background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600)); border-color: transparent; color: #fff; box-shadow: 0 8px 24px rgba(16,185,129,.2); }
.sz-seo-tab.active i { color: #fff; }
.sz-seo-panels { position: relative; min-height: 340px; }
.sz-seo-panel { display: none; }
.sz-seo-panel.active { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; animation: szFadeUp .4s ease; }
.sz-seo-visual { background: var(--gray-50); border-radius: 20px; border: 1px solid var(--gray-100); padding: 28px; display: flex; align-items: center; justify-content: center; min-height: 280px; }
.sz-seo-visual img { width: 100%; height: auto; max-height: 260px; }
.sz-seo-text h3 { font-size: 1.7rem; font-weight: 800; margin-bottom: 16px; color: var(--gray-900); }
.sz-seo-text p { font-size: 1rem; color: var(--gray-500); line-height: 1.8; margin-bottom: 24px; }
.sz-seo-points { display: flex; flex-direction: column; gap: 12px; list-style: none; padding: 0; margin: 0; }
.sz-seo-points li { display: flex; align-items: center; gap: 10px; color: var(--gray-700); font-size: .95rem; }
.sz-seo-points li i { color: var(--emerald-500); font-size: .85rem; }
@media (max-width: 900px) {
  .sz-seo-workspace { grid-template-columns: 1fr; }
  .sz-seo-tabs { flex-direction: row; overflow-x: auto; padding-bottom: 6px; }
  .sz-seo-tab { white-space: nowrap; flex-shrink: 0; width: auto; }
  .sz-seo-panel.active { grid-template-columns: 1fr; gap: 28px; }
  .sz-seo-visual { order: -1; min-height: 220px; }
}

/* ===== 传统站群 PK 圣者站群 ===== */
.sz-pk-section { padding: 80px 0; background: transparent; }
.sz-pk-section .sz-section-header { text-align: center; margin-bottom: 48px; }
/* 三卡无缝拼合，全部介绍圣者超级站群；中卡上下高出 */
.sz-pk-cards { display: flex; align-items: stretch; justify-content: center; gap: 0; padding: 30px 0; }
.sz-pk-card { position: relative; flex: 1 1 0; max-width: 390px; display: flex; flex-direction: column; background: #fff; padding: 30px 26px; box-shadow: 0 12px 36px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s ease; }
.sz-pk-card-old { border-radius: 12px 0 0 12px; border-right: 1px solid var(--gray-100); }
.sz-pk-card-gain { border-radius: 0 12px 12px 0; border-left: 1px solid var(--gray-100); }
.sz-pk-card:hover { transform: translateY(-4px); box-shadow: 0 20px 46px rgba(0,0,0,.1); }
.sz-pk-card-head { padding-bottom: 16px; margin-bottom: 20px; border-bottom: 1px solid var(--gray-100); text-align: center; }
.sz-pk-card-head h3 { font-size: 1.18rem; font-weight: 800; color: var(--gray-900); }
.sz-pk-card-head p { font-size: .82rem; color: var(--gray-500); margin-top: 4px; }
/* 特性条目：SVG 动态图标 + 标题 + 描述 */
.sz-pk-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px; flex: 1; }
.sz-feat { display: flex; align-items: flex-start; gap: 14px; }
.sz-feat-ico { width: 38px; height: 38px; flex-shrink: 0; color: var(--gray-400); transition: color .25s ease; }
.sz-feat:hover .sz-feat-ico { color: var(--emerald-500); }
.sz-feat-txt h4 { font-size: .95rem; font-weight: 800; color: var(--emerald-700); margin-bottom: 3px; }
.sz-feat-txt p { font-size: .83rem; color: var(--gray-500); line-height: 1.6; }
/* 中间主推卡：上下各多出一行高度 */
.sz-pk-card-hero { margin: -30px 0; z-index: 2; border-radius: 12px; border-top: 4px solid var(--emerald-500); background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%); box-shadow: 0 24px 60px rgba(16,185,129,.22); }
.sz-pk-card-hero:hover { box-shadow: 0 30px 70px rgba(16,185,129,.3); }
.sz-pk-card-hero .sz-pk-card-head h3 { background: linear-gradient(135deg, #059669, #10b981); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-size: 1.3rem; }
.sz-pk-hero-btn { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 22px; padding: 12px; border-radius: 8px; background: linear-gradient(135deg, #059669, #10b981); color: #fff; font-weight: 700; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.sz-pk-hero-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(16,185,129,.35); color: #fff; }
.sz-pk-hero-btn i { transition: transform .2s ease; }
.sz-pk-hero-btn:hover i { transform: translateX(3px); }
/* SVG 图标动画（stroke 图形通用） */
.a-dash { stroke-dasharray: 4 3; animation: icoDash 2.4s linear infinite; }
.a-spin { animation: icoSpin 3.2s linear infinite; transform-box: fill-box; transform-origin: center; }
.a-pulse { animation: icoPulse 2s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.a-blink { animation: icoBlink 1.8s ease-in-out infinite; }
.a-float { animation: icoFloat 2.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.a-grow { animation: icoGrow 1.8s ease-in-out infinite; transform-box: fill-box; transform-origin: bottom; }
.a-hover { animation: icoHover 3.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes icoHover { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes icoDash { to { stroke-dashoffset: -14; } }
@keyframes icoSpin { to { transform: rotate(360deg); } }
@keyframes icoPulse { 0%, 100% { transform: scale(1); opacity: .55; } 50% { transform: scale(1.3); opacity: 1; } }
@keyframes icoBlink { 0%, 100% { opacity: .3; } 50% { opacity: 1; } }
@keyframes icoFloat { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(1.2px, -1.4px); } }
@keyframes icoGrow { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(1.35); } }
@media (max-width: 1100px) {
  .sz-pk-card { max-width: 100%; }
}
@media (max-width: 900px) {
  .sz-pk-cards { flex-direction: column; padding: 30px 0 0; }
  .sz-pk-card-old { border-radius: 12px 12px 0 0; border-right: none; border-bottom: 1px solid var(--gray-100); }
  .sz-pk-card-gain { border-radius: 0 0 12px 12px; border-left: none; border-top: 1px solid var(--gray-100); }
  .sz-pk-card-hero { margin: 0; order: -1; }
}
@media (prefers-reduced-motion: reduce) {
  .a-dash, .a-spin, .a-pulse, .a-blink, .a-float, .a-grow, .a-hover { animation: none; }
}

/* ===== 插件市场（绿黄渐变 + 轮播） ===== */
.sz-market-section { position: relative; padding: 80px 0; background: linear-gradient(115deg, #059669 0%, #10b981 38%, #a3e635 70%, #facc15 100%); overflow: hidden; }
.sz-market-section .sz-section-header { text-align: center; margin-bottom: 44px; }
.sz-market-section .sz-section-tag { display: inline-block; padding: 6px 16px; border-radius: 99px; background: rgba(255,255,255,.2); color: #fff; font-size: .8rem; font-weight: 700; letter-spacing: .05em; }
.sz-market-section .sz-section-title { color: #fff; }
.sz-market-section .sz-section-desc { color: rgba(255,255,255,.9); }
.sz-market-tabs { display: flex; justify-content: center; gap: 10px; margin-bottom: 30px; flex-wrap: wrap; }
.sz-market-tab { padding: 9px 30px; border-radius: 99px; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.16); color: #fff; font-size: .92rem; font-weight: 700; cursor: pointer; transition: background .25s ease, color .25s ease, transform .25s ease; }
.sz-market-tab:hover { background: rgba(255,255,255,.3); transform: translateY(-2px); }
.sz-market-tab.active { background: #fff; color: var(--emerald-700); border-color: #fff; box-shadow: 0 10px 24px rgba(6,78,59,.22); }
.sz-market-panel.is-hidden { display: none; }
.sz-market-more { display: inline-flex; align-items: center; gap: 8px; padding: 12px 30px; border-radius: 99px; background: rgba(255,255,255,.95); color: var(--emerald-700); font-weight: 700; text-decoration: none; box-shadow: 0 10px 26px rgba(6,78,59,.18); transition: transform .2s ease, box-shadow .2s ease; }
.sz-market-more:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(6,78,59,.26); color: var(--emerald-700); }
.sz-market-more.is-hidden { display: none; }
.sz-market-carousel { display: flex; align-items: center; gap: 14px; }
.sz-market-viewport { flex: 1; overflow: hidden; }
.sz-market-track { display: flex; gap: 18px; transition: transform .5s ease; }
.sz-market-card { flex: 0 0 calc((100% - 36px) / 3); display: flex; flex-direction: column; background: #fff; border-radius: 10px; padding: 24px 22px; text-decoration: none; box-shadow: 0 12px 32px rgba(6,78,59,.18); transition: transform .25s ease, box-shadow .25s ease; }
.sz-market-card:hover { transform: translateY(-5px); box-shadow: 0 20px 44px rgba(6,78,59,.26); }
.sz-market-ico { width: 52px; height: 52px; border-radius: 12px; background: linear-gradient(135deg, #10b981, #facc15); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.35rem; margin-bottom: 16px; }
.sz-market-title { font-size: 1.02rem; font-weight: 800; color: var(--gray-900); margin-bottom: 8px; }
.sz-market-desc { font-size: .83rem; color: var(--gray-500); line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; flex: 1; }
.sz-market-meta { display: flex; align-items: center; gap: 8px; margin-top: 14px; }
.sz-market-price { font-size: 1.05rem; font-weight: 800; color: var(--emerald-600); }
.sz-market-price.free { color: var(--emerald-500); }
.sz-market-vip { font-size: .68rem; font-weight: 800; color: #d97706; background: #fef3c7; padding: 2px 8px; border-radius: 99px; }
.sz-market-dl { margin-left: auto; font-size: .75rem; color: var(--gray-400); }
.sz-market-nav { width: 40px; height: 40px; border-radius: 50%; border: none; background: rgba(255,255,255,.85); color: var(--emerald-700); font-size: .9rem; cursor: pointer; flex-shrink: 0; display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(6,78,59,.2); transition: transform .2s ease, background .2s ease; }
.sz-market-nav:hover { background: #fff; transform: scale(1.08); }
@media (max-width: 1020px) {
  .sz-market-card { flex-basis: calc((100% - 18px) / 2); }
}
@media (max-width: 640px) {
  .sz-market-card { flex-basis: 100%; }
  .sz-market-nav { display: none; }
}

/* ===== 首页：站长工具快速查询区块 ===== */
.sz-toolbox-section { padding: 78px 0; background: #fff; color: var(--gray-900); }
.sz-toolbox-section .sz-section-header { text-align: center; margin-bottom: 32px; }
.sz-toolbox-section .sz-section-tag { background: var(--emerald-50); color: var(--emerald-600); display: inline-block; padding: 6px 16px; border-radius: 99px; font-size: .8rem; font-weight: 700; letter-spacing: .05em; }
.sz-toolbox-section .sz-section-title { color: var(--gray-900); }
.sz-toolbox-section .sz-section-desc { color: var(--gray-500); }
.sz-toolbox-form { display: flex; gap: 12px; max-width: 880px; margin: 0 auto; padding: 12px; border-radius: 16px; background: var(--gray-50); border: 1px solid var(--gray-200); }
.sz-toolbox-select { flex: 0 0 180px; padding: 14px 12px; border: 1px solid var(--gray-200); border-radius: 10px; background: #fff; color: var(--gray-800); font-size: .92rem; font-weight: 600; outline: none; cursor: pointer; }
.sz-toolbox-input { flex: 1; min-width: 0; padding: 14px 16px; border: 1px solid var(--gray-200); border-radius: 10px; background: #fff; font-size: .95rem; outline: none; }
.sz-toolbox-input:focus { box-shadow: 0 0 0 3px rgba(16,185,129,.15); }
.sz-toolbox-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 30px; border: none; border-radius: 10px; background: linear-gradient(135deg, #10b981, #059669); color: #fff; font-weight: 800; font-size: .95rem; cursor: pointer; white-space: nowrap; transition: transform .2s ease, box-shadow .2s ease; }
.sz-toolbox-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(16,185,129,.25); }
.sz-toolbox-quick { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 26px; }
.sz-toolbox-quick a { display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 99px; background: #fff; border: 1px solid var(--gray-200); color: var(--gray-600); font-size: .84rem; text-decoration: none; transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease; }
.sz-toolbox-quick a:hover { background: var(--emerald-50); border-color: var(--emerald-200); color: var(--emerald-700); transform: translateY(-2px); }
.sz-toolbox-more { display: inline-flex; align-items: center; gap: 8px; padding: 12px 30px; border-radius: 99px; background: #fff; border: 1.5px solid var(--emerald-200); color: var(--emerald-700); font-weight: 700; text-decoration: none; transition: all .2s ease; }
.sz-toolbox-more:hover { transform: translateY(-3px); border-color: var(--emerald-400); color: var(--emerald-700); }
@media (max-width: 720px) {
  .sz-toolbox-form { flex-direction: column; padding: 14px; }
  .sz-toolbox-select { flex: 1 1 auto; }
}

/* ===== 站长工具：全屏下拉菜单 ===== */
.sz-header-nav .sz-nav-item { position: static; height: 100%; }
.sz-header-nav .sz-nav-item > a { display: flex; align-items: center; height: 100%; padding: 0 16px; }
.sz-nav-mega { position: absolute; left: 0; right: 0; top: var(--header-h); height: calc(100vh - var(--header-h)); background: #f8fafc; border-bottom: 1px solid var(--gray-100); box-shadow: 0 30px 60px rgba(0,0,0,.1); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s ease, transform .25s ease, visibility .25s; pointer-events: none; overflow: hidden; }
.sz-nav-item:hover .sz-nav-mega, .sz-nav-item:focus-within .sz-nav-mega { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
.sz-nav-mega .sz-container { height: 100%; display: flex; flex-direction: column; }
.sz-nav-mega-inner { flex: 1; display: flex; flex-direction: column; min-height: 0; padding: 22px 0 18px; }
.sz-nav-mega-head { flex-shrink: 0; display: flex; align-items: baseline; gap: 12px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid var(--gray-200); }
.sz-nav-mega-head strong { font-size: 1rem; color: var(--gray-900); }
.sz-nav-mega-head span { font-size: .78rem; color: var(--gray-500); }
.sz-nav-mega-body { flex: 1; display: flex; gap: 18px; min-height: 0; overflow: hidden; }
.sz-mega-col-cf { width: 280px; flex-shrink: 0; display: flex; flex-direction: column; }
.sz-mega-col { flex: 1; min-width: 0; display: flex; flex-direction: column; background: transparent; border: none; border-radius: 0; padding: 0; }
.sz-mega-col-free { flex: 1.4; }
.sz-mega-col-free .sz-mega-tool-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 18px; }
.sz-mega-col-title { flex-shrink: 0; font-size: .84rem; font-weight: 800; color: var(--gray-800); margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
.sz-mega-col-scroll { flex: 1; overflow-y: auto; min-height: 0; }
.sz-mega-col-scroll::-webkit-scrollbar { width: 5px; }
.sz-mega-col-scroll::-webkit-scrollbar-thumb { background: var(--gray-300); border-radius: 3px; }
.sz-mega-tool-list { display: flex; flex-direction: column; gap: 6px; }
.sz-mega-tool-list a { display: flex; align-items: flex-start; gap: 10px; padding: 9px 10px; border-radius: 8px; transition: background .2s ease; text-decoration: none; color: inherit; }
.sz-mega-tool-list a:hover { background: var(--gray-50); color: inherit; }
.sz-mega-tool-list a.on { background: rgba(16,185,129,.08); }
.sz-mega-tool-ico { width: 32px; height: 32px; flex-shrink: 0; border-radius: 8px; background: linear-gradient(135deg, #10b981, #34d399); color: #fff; display: flex; align-items: center; justify-content: center; font-size: .8rem; }
.sz-mega-tool-txt b { display: block; font-size: .82rem; font-weight: 800; color: var(--gray-900); margin-bottom: 2px; line-height: 1.3; }
.sz-mega-tool-txt em { display: block; font-style: normal; font-size: .7rem; color: var(--gray-500); line-height: 1.45; }
.sz-mega-badge { display: inline-flex; align-items: center; padding: 1px 5px; border-radius: 4px; background: #fff7ed; color: #f59e0b; font-size: .62rem; font-weight: 700; border: 1px solid #ffedd5; vertical-align: middle; }
.sz-mega-cf-card { display: flex; flex-direction: column; align-items: center; height: auto; background: linear-gradient(135deg, #f97316, #f59e0b); color: #fff; border-radius: 12px; padding: 18px 16px; }
.sz-mega-cf-top { display: flex; flex-direction: column; align-items: center; text-align: center; }
.sz-mega-cf-ico { display: flex; align-items: center; justify-content: center; width: 100%; height: 120px; margin-bottom: 10px; text-decoration: none; transition: transform .3s ease; }
.sz-mega-cf-ico:hover { transform: scale(1.08); }
.sz-mega-cf-brand { width: 110px; height: 110px; display: block; }
.sz-mega-cf-title { font-size: 1rem; font-weight: 800; margin-bottom: 4px; }
.sz-mega-cf-bottom { width: 100%; margin-top: 14px; }
.sz-mega-cf-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.sz-mega-cf-btns a { flex: 1 1 calc(50% - 5px); max-width: calc(50% - 5px); display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 18px; border-radius: 8px; background: rgba(255,255,255,.18); color: #fff; font-size: .72rem; font-weight: 600; text-decoration: none; transition: background .2s; }
.sz-mega-cf-btns a:hover { background: rgba(255,255,255,.3); color: #fff; }

.sz-nav-mega-foot { flex-shrink: 0; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--gray-200); text-align: center; }
.sz-nav-mega-foot a { display: inline-flex; align-items: center; gap: 6px; height: auto; font-size: .85rem; font-weight: 700; color: var(--emerald-600); padding: 0; }
.sz-nav-mega-foot a:hover { color: var(--emerald-700); }
@media (max-width: 1280px) {
  .sz-header-nav .sz-nav-item { display: none; }
}

/* 工具卡片底部链接 */
.sz-tool-go { display: inline-flex; align-items: center; gap: 5px; margin-top: 10px; font-size: .78rem; font-weight: 700; color: var(--emerald-600); }
.sz-tool-card:hover .sz-tool-go i { transform: translateX(3px); }
.sz-tool-go i { transition: transform .2s ease; }

/* ===== 工具详情页 ===== */
.sz-tool-detail-layout { display: grid; grid-template-columns: 1fr 300px; gap: 28px; align-items: start; }
.sz-tool-article { background: #fff; border: 1px solid var(--gray-200); border-radius: 12px; padding: 30px; margin-top: 24px; }
.sz-tool-article h2 { font-size: 1.15rem; font-weight: 800; color: var(--gray-900); margin: 26px 0 12px; padding-left: 12px; border-left: 4px solid var(--emerald-500); }
.sz-tool-article h2:first-child { margin-top: 0; }
.sz-tool-article p { font-size: .9rem; color: var(--gray-600); line-height: 1.9; margin-bottom: 10px; }
.sz-tool-usage { margin: 0 0 10px; padding-left: 20px; }
.sz-tool-usage li { font-size: .9rem; color: var(--gray-600); line-height: 2; }
.sz-tool-detail-side { display: flex; flex-direction: column; gap: 18px; position: sticky; top: calc(var(--header-h) + 16px); }
.sz-tool-side-card { background: #fff; border: 1px solid var(--gray-200); border-radius: 12px; padding: 20px; }
.sz-tool-side-card h3 { font-size: .95rem; font-weight: 800; color: var(--gray-900); margin-bottom: 12px; }
.sz-tool-side-card a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; font-size: .86rem; color: var(--gray-600); text-decoration: none; transition: background .2s ease, color .2s ease; }
.sz-tool-side-card a:hover { background: var(--gray-50); color: var(--emerald-600); }
.sz-tool-side-card a.on { background: rgba(16,185,129,.08); color: var(--emerald-700); font-weight: 700; }
.sz-tool-side-card a i { width: 16px; text-align: center; color: var(--emerald-500); font-size: .8rem; }
.sz-tool-side-card ul { list-style: none; padding: 0; margin: 0; }
.sz-tool-side-card ul li { font-size: .82rem; color: var(--gray-500); line-height: 1.8; padding-left: 16px; position: relative; }
.sz-tool-side-card ul li::before { content: '✔'; position: absolute; left: 0; color: var(--emerald-500); font-size: .72rem; }
@media (max-width: 1100px) {
  .sz-tool-detail-layout { grid-template-columns: 1fr; }
  .sz-tool-detail-side { position: static; }
}

/* ===== 站长工具助手 ===== */
.sz-tools-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 28px; }
.sz-tool-card { display: block; text-decoration: none; background: #fff; border: 1px solid var(--gray-200); border-radius: 10px; padding: 20px 16px; text-align: center; cursor: pointer; transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; font-family: inherit; }
.sz-tool-card:hover { border-color: var(--emerald-300); transform: translateY(-3px); box-shadow: 0 12px 28px rgba(16,185,129,.1); }
.sz-tool-card.active { border-color: var(--emerald-500); background: linear-gradient(180deg, #f0fdf4, #fff); box-shadow: 0 12px 28px rgba(16,185,129,.14); }
.sz-tool-ico { width: 46px; height: 46px; margin: 0 auto 12px; border-radius: 12px; background: linear-gradient(135deg, #10b981, #34d399); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; }
.sz-tool-name { font-weight: 800; color: var(--gray-900); font-size: .95rem; margin-bottom: 6px; }
.sz-tool-desc { font-size: .78rem; color: var(--gray-500); line-height: 1.55; }
.sz-tool-panel { background: #fff; border: 1px solid var(--gray-200); border-radius: 12px; padding: 28px; box-shadow: 0 12px 36px rgba(0,0,0,.06); }
.sz-tool-panel-head { margin-bottom: 18px; }
.sz-tool-panel-head i { color: var(--emerald-500); margin-right: 8px; }
.sz-tool-panel-head h3 { display: inline; font-size: 1.15rem; font-weight: 800; color: var(--gray-900); }
.sz-tool-panel-head p { font-size: .82rem; color: var(--gray-500); margin-top: 6px; }
.sz-tool-form { display: flex; gap: 12px; margin-bottom: 20px; }
.sz-tool-input { flex: 1; padding: 13px 16px; border: 1px solid var(--gray-300); border-radius: 8px; font-size: .95rem; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.sz-tool-input:focus { border-color: var(--emerald-400); box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.sz-tool-run { padding: 13px 28px; border: none; border-radius: 8px; background: linear-gradient(135deg, #059669, #10b981); color: #fff; font-weight: 700; font-size: .92rem; cursor: pointer; white-space: nowrap; transition: transform .2s ease, box-shadow .2s ease; }
.sz-tool-run:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(16,185,129,.3); }
.sz-tool-run:disabled { opacity: .6; cursor: wait; transform: none; }
.sz-tool-result { min-height: 80px; background: var(--gray-50); border-radius: 10px; padding: 18px 20px; }
.sz-tool-empty { color: var(--gray-400); font-size: .88rem; text-align: center; padding: 16px 0; }
.sz-tool-error { color: #dc2626; font-size: .9rem; font-weight: 600; }
.sz-tool-kv { display: flex; flex-direction: column; gap: 2px; }
.sz-tool-kv-row { display: flex; gap: 14px; padding: 7px 0; border-bottom: 1px dashed var(--gray-200); font-size: .88rem; align-items: baseline; }
.sz-tool-kv-row:last-child { border-bottom: none; }
.sz-tool-kv-row .k { width: 130px; flex-shrink: 0; color: var(--gray-500); font-size: .82rem; }
.sz-tool-kv-row .v { flex: 1; color: var(--gray-800); word-break: break-all; }
.sz-tool-ul { list-style: none; padding: 0; margin: 4px 0; display: flex; flex-direction: column; gap: 4px; }
.sz-tool-ul li { font-size: .86rem; color: var(--gray-700); padding-left: 14px; position: relative; }
.sz-tool-ul li::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--emerald-400); position: absolute; left: 0; top: .55em; }
.sz-tool-table { width: 100%; border-collapse: collapse; font-size: .82rem; margin: 6px 0; }
.sz-tool-table th, .sz-tool-table td { text-align: left; padding: 7px 10px; border-bottom: 1px solid var(--gray-200); }
.sz-tool-table th { color: var(--gray-500); font-weight: 700; white-space: nowrap; }
.sz-tool-muted { color: var(--gray-400); }
.sz-tool-mono { font-family: Consolas, monospace; font-size: .8rem; color: var(--gray-600); word-break: break-all; }

/* === 纯前端工具（去重 / 组合 / 伪静态互转） === */
.sz-tool-client { display: block; }
.sz-tool-textarea { width: 100%; min-height: 200px; padding: 14px 16px; border: 1px solid var(--gray-300); border-radius: 10px; font-size: .9rem; line-height: 1.6; outline: none; resize: vertical; font-family: Consolas, "Microsoft YaHei", monospace; transition: border-color .2s ease, box-shadow .2s ease; }
.sz-tool-textarea:focus { border-color: var(--emerald-400); box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.sz-combo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 16px; }
.sz-combo-col { display: flex; flex-direction: column; gap: 6px; }
.sz-combo-col label { font-size: .82rem; font-weight: 700; color: var(--gray-600); }
.sz-combo-col textarea { width: 100%; min-height: 160px; padding: 12px; border: 1px solid var(--gray-300); border-radius: 8px; font-size: .85rem; line-height: 1.5; outline: none; resize: vertical; }
.sz-combo-col textarea:focus { border-color: var(--emerald-400); box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.sz-combo-opts { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 18px; font-size: .85rem; color: var(--gray-600); }
.sz-combo-opts-label { font-weight: 700; color: var(--gray-700); }
.sz-combo-opts label { cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.sz-combo-opts-sep { width: 1px; height: 16px; background: var(--gray-300); margin: 0 4px; }
.sz-tool-client-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 4px; }
.sz-tool-ghost { padding: 13px 24px; border: 1px solid var(--gray-300); border-radius: 8px; background: #fff; color: var(--gray-700); font-weight: 700; font-size: .9rem; cursor: pointer; white-space: nowrap; transition: all .2s ease; }
.sz-tool-ghost:hover { border-color: var(--emerald-400); color: var(--emerald-700); }
.sz-tool-client-info { display: flex; align-items: center; gap: 8px; font-size: .9rem; font-weight: 700; color: var(--emerald-700); margin-bottom: 12px; }
.sz-tool-client-info i { color: var(--emerald-500); }
.sz-tool-pre { margin: 0; padding: 16px; background: #0f172a; color: #e2e8f0; border-radius: 10px; font-family: Consolas, monospace; font-size: .85rem; line-height: 1.7; white-space: pre-wrap; word-break: break-all; max-height: 420px; overflow: auto; }
.sz-tool-quota { margin-bottom: 16px; padding: 12px 16px; border-radius: 10px; background: #fffbeb; border: 1px solid #fde68a; color: #92400e; font-size: .88rem; }
.sz-tool-html-box { margin-top: 18px; }
.sz-tool-html-box label { display: block; font-size: .88rem; font-weight: 700; color: var(--gray-700); margin-bottom: 8px; }
.sz-tool-html-source { width: 100%; min-height: 240px; padding: 14px; border: 1px solid var(--gray-300); border-radius: 10px; background: #0f172a; color: #e2e8f0; font-family: Consolas, monospace; font-size: .82rem; line-height: 1.6; resize: vertical; outline: none; }
.sz-tool-cats { margin-bottom: 18px; padding: 16px; border: 1px solid var(--gray-200); border-radius: 12px; background: #f8fafc; }
.sz-tool-cats-title { font-size: .88rem; font-weight: 700; color: var(--gray-700); margin-bottom: 12px; }
.sz-tool-cats-list { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.sz-tool-cats-list label { display: inline-flex; align-items: center; gap: 6px; font-size: .85rem; color: var(--gray-700); cursor: pointer; }
.sz-tool-cats-list input { width: 16px; height: 16px; cursor: pointer; }
.sz-tool-cats-count { display: inline-block; min-width: 22px; padding: 1px 7px; border-radius: 10px; background: var(--emerald-50); color: var(--emerald-700); font-size: .75rem; text-align: center; }
.blcat-all { font-weight: 700; }
.sz-tool-quota b { color: #b45309; }
.sz-tool-quota a { color: var(--emerald-600); font-weight: 700; text-decoration: none; }
.sz-tool-quota a:hover { text-decoration: underline; }
@media (max-width: 720px) {
  .sz-combo-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 1020px) {
  .sz-tools-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .sz-tools-grid { grid-template-columns: 1fr 1fr; }
  .sz-tool-form { flex-direction: column; }
  .sz-tool-kv-row { flex-direction: column; gap: 2px; }
  .sz-tool-kv-row .k { width: auto; }
}

/* ===== 帮助中心 FAQ（两列手风琴） ===== */
.sz-faq-section { padding: 80px 0; background: #fff; }
.sz-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.sz-faq-item { background: #fff; border: 1px solid var(--gray-200); border-radius: 10px; overflow: hidden; transition: border-color .25s ease, box-shadow .25s ease; }
.sz-faq-item:hover { border-color: var(--emerald-300); }
.sz-faq-item[open] { border-color: var(--emerald-300); box-shadow: 0 10px 30px rgba(16,185,129,.08); }
.sz-faq-q { display: flex; align-items: center; gap: 12px; padding: 17px 20px; cursor: pointer; list-style: none; font-weight: 700; color: var(--gray-800); font-size: .95rem; line-height: 1.5; }
.sz-faq-q::-webkit-details-marker { display: none; }
.sz-faq-ico { width: 30px; height: 30px; border-radius: 8px; background: rgba(16,185,129,.1); color: var(--emerald-600); display: flex; align-items: center; justify-content: center; font-size: .72rem; flex-shrink: 0; }
.sz-faq-title { flex: 1; }
.sz-faq-arrow { margin-left: auto; color: var(--gray-400); font-size: .8rem; transition: transform .25s ease, color .25s ease; flex-shrink: 0; }
.sz-faq-item[open] .sz-faq-arrow { transform: rotate(180deg); color: var(--emerald-500); }
.sz-faq-a { padding: 0 20px 18px 62px; font-size: .88rem; color: var(--gray-500); line-height: 1.8; }
.sz-faq-a a { color: var(--emerald-600); font-weight: 600; text-decoration: none; white-space: nowrap; margin-left: 6px; }
.sz-faq-a a:hover { text-decoration: underline; }
@media (max-width: 900px) {
  .sz-faq-grid { grid-template-columns: 1fr; }
  .sz-faq-a { padding-left: 20px; }
}

/* ===== 产品中心（价格计划卡片） ===== */
.sz-products-section { position: relative; padding: 88px 0; background: #f4f6f8; overflow: hidden; color: var(--gray-700); }
.sz-products-section .sz-section-header { position: relative; z-index: 1; text-align: center; margin-bottom: 48px; }
.sz-products-section .sz-section-tag { display: inline-block; padding: 6px 16px; border-radius: 99px; background: rgba(16,185,129,.1); color: var(--emerald-600); font-size: .8rem; font-weight: 700; letter-spacing: .05em; }
.sz-products-section .sz-section-title { color: var(--gray-900); }
.sz-products-section .sz-section-desc { color: var(--gray-500); }
/* 浅灰底上大小颗粒游走动画 */
.sz-particles { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.sz-particles .sp { fill: #9aa6b2; opacity: .45; animation: sz-particle-a var(--d, 25s) ease-in-out infinite; animation-delay: var(--dl, 0s); }
.sz-particles .sp-b { fill: #10b981; opacity: .32; animation-name: sz-particle-b; }
.sz-particles .sp-c { fill: #94a3b8; opacity: .26; animation-name: sz-particle-c; }
@keyframes sz-particle-a { 0%, 100% { transform: translate(0, 0) scale(1); opacity: .45; } 50% { transform: translate(60px, -80px) scale(1.25); opacity: .8; } }
@keyframes sz-particle-b { 0%, 100% { transform: translate(0, 0) scale(1); opacity: .32; } 50% { transform: translate(-80px, 50px) scale(.75); opacity: .55; } }
@keyframes sz-particle-c { 0%, 100% { transform: translate(0, 0) scale(1); opacity: .26; } 50% { transform: translate(40px, 90px) scale(1.35); opacity: .5; } }
/* 大型星链：节点 + 绿黄渐变连线，整组漂移、连线呼吸、主节点闪烁 */
.sz-particles .sz-constellation { animation: sz-const-a var(--gd, 40s) ease-in-out infinite; animation-delay: var(--gdl, 0s); }
.sz-particles .sz-const-b { animation-name: sz-const-b; }
@keyframes sz-const-a { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(18px, -12px); } }
@keyframes sz-const-b { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-16px, 10px); } }
.sz-particles .sz-link { stroke: url(#szLinkGrad); stroke-width: 1; fill: none; animation: sz-link-pulse 7s ease-in-out infinite; }
@keyframes sz-link-pulse { 0%, 100% { opacity: .14; } 50% { opacity: .45; } }
.sz-particles .sz-node { fill: #10b981; opacity: .75; }
.sz-particles .sz-node-y { fill: #f59e0b; }
.sz-particles .sz-node-major { animation: sz-node-glow 4.5s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes sz-node-glow { 0%, 100% { transform: scale(1); opacity: .75; } 50% { transform: scale(1.25); opacity: 1; } }
.sz-particles .sz-halo { fill: #34d399; opacity: .1; animation: sz-halo-pulse 4.5s ease-in-out infinite; }
@keyframes sz-halo-pulse { 0%, 100% { opacity: .06; } 50% { opacity: .16; } }
@media (max-width: 900px) {
  .sz-particles .sz-constellation { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .sz-particles .sp, .sz-particles .sz-constellation, .sz-particles .sz-link, .sz-particles .sz-node-major, .sz-particles .sz-halo { animation: none; }
}
/* 一行 4 个；不足 4 个时自动居中，不留右侧空列 */
.sz-products-grid { position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 22px; }
.sz-product-card { position: relative; display: flex; flex-direction: column; flex: 1 1 calc(25% - 16.5px); max-width: calc(25% - 16.5px); min-width: 220px; background: #fff; border-radius: 9px; padding: 28px 22px; box-shadow: 0 12px 36px rgba(0,0,0,.08); transition: transform .25s ease, box-shadow .25s ease; }
.sz-product-card:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(0,0,0,.14); }
/* 卡片顶部：渐变色块 + 产品图标 + 左上角标 */
.sz-product-card-top { position: relative; display: flex; align-items: center; justify-content: center; height: 96px; margin: -28px -22px 22px; border-radius: 9px 9px 0 0; background: linear-gradient(135deg, #047857, #10b981); }
.sz-product-card-top i.fas { font-size: 2.6rem; color: rgba(255,255,255,.95); text-shadow: 0 6px 18px rgba(0,0,0,.18); }
.sz-product-card:nth-child(4n+1) .sz-product-card-top { background: linear-gradient(135deg, #047857, #10b981); }
.sz-product-card:nth-child(4n+2) .sz-product-card-top { background: linear-gradient(135deg, #0d9488, #34d399); }
.sz-product-card:nth-child(4n+3) .sz-product-card-top { background: linear-gradient(135deg, #15803d, #4ade80); }
.sz-product-card:nth-child(4n+4) .sz-product-card-top { background: linear-gradient(135deg, #065f46, #059669); }
.sz-product-card-top .sz-product-card-tag { position: absolute; top: 14px; left: 14px; margin: 0; background: rgba(255,255,255,.22); color: #fff; }
.sz-product-card-top .sz-product-card-tag-hot { background: rgba(255,255,255,.92); color: #d97706; }
.sz-product-card-header { text-align: center; padding-bottom: 20px; border-bottom: 1px solid var(--gray-100); }
.sz-product-card-tag { display: inline-block; padding: 4px 12px; border-radius: 99px; background: rgba(16,185,129,.1); color: var(--emerald-600); font-size: .72rem; font-weight: 800; letter-spacing: .04em; margin-bottom: 12px; }
.sz-product-card-tag-hot { background: linear-gradient(135deg, #f59e0b, #d97706); color: #fff; }
.sz-product-card-title { font-size: 1.45rem; font-weight: 800; color: var(--gray-900); margin-bottom: 8px; line-height: 1.2; }
.sz-product-card-summary { font-size: .85rem; color: var(--gray-500); line-height: 1.6; min-height: 42px; margin-bottom: 14px; }
.sz-product-card-price { margin-top: 6px; }
.sz-product-card-price .cur { font-size: 1.7rem; font-weight: 800; color: var(--emerald-600); }
.sz-product-card-price .cur small { font-size: .72rem; color: var(--gray-500); font-weight: 500; margin-left: 3px; }
.sz-product-card-price .old { font-size: .85rem; color: var(--gray-400); text-decoration: line-through; margin-left: 6px; }
.sz-product-card-price .free { font-size: 1.35rem; font-weight: 800; color: var(--emerald-600); }
.sz-product-card-body { display: flex; flex-direction: column; flex: 1; padding-top: 20px; }
.sz-product-card-features { list-style: none; padding: 0; margin: 0 0 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.sz-product-card-features li { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; color: var(--gray-600); }
.sz-product-card-features li i { color: var(--emerald-500); font-size: .85rem; margin-top: 3px; flex-shrink: 0; }
.sz-product-card-features li span { flex: 1; line-height: 1.5; word-break: break-word; }
.sz-product-card-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 13px; border-radius: 6px; background: var(--emerald-600); color: #fff; font-weight: 700; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.sz-product-card-btn:hover { background: var(--emerald-700); transform: translateY(-2px); }
.sz-product-card-btn i { transition: transform .2s ease; }
.sz-product-card:hover .sz-product-card-btn i { transform: translateX(3px); }
.sz-products-btn { display: inline-flex; align-items: center; gap: 10px; padding: 13px 32px; border-radius: 99px; background: #fff; color: var(--emerald-700); font-weight: 700; transition: transform .2s ease, box-shadow .2s ease; box-shadow: 0 10px 26px rgba(0,0,0,.15); }
.sz-products-btn:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(0,0,0,.22); }
@media (max-width: 1100px) {
  .sz-product-card { flex-basis: calc(50% - 11px); max-width: calc(50% - 11px); }
}
@media (max-width: 600px) {
  .sz-product-card { flex-basis: 100%; max-width: 100%; }
}

/* ===== Responsive ===== */
@media (max-width: 1280px) {
  .sz-footer-grid { grid-template-columns: 1fr 1fr; }
  .sz-grid-4 { grid-template-columns: repeat(2, 1fr); }
  /* 非电脑端（≤1280px）：隐藏 PC 导航与右侧功能，显示汉堡菜单（靠右） */
  .sz-header-nav, .sz-header-right { display: none; }
  .sz-hamburger { display: flex; margin-left: auto; }
  .sz-logo { flex-shrink: 0; }
  .sz-logo-title, .sz-logo-sub { white-space: nowrap; }
  /* Hero Tab 移动端：底部下划线跟随 active（transform scaleX 平滑动画） */
  .sz-hero2-nav-item::after {
    content: ''; position: absolute; left: 12px; right: 12px; bottom: 2px;
    height: 3px; border-radius: 2px;
    background: var(--emerald-500);
    transform: scaleX(0); transform-origin: center;
    transition: transform .35s cubic-bezier(.4,0,.2,1);
  }
  .sz-hero2-nav-item.active::after { transform: scaleX(1); }
  /* 隐藏浏览器默认横向滚动条（由 JS 让 active 滚动到视口中央） */
  .sz-hero2-nav { scrollbar-width: none; -ms-overflow-style: none; }
  .sz-hero2-nav::-webkit-scrollbar { display: none; }
}
@media (max-width: 768px) {
  .sz-nav-links, .sz-nav-right { display: none; }
  .sz-grid-2, .sz-grid-3, .sz-grid-4 { grid-template-columns: 1fr; }
  .sz-layout-with-sidebar { grid-template-columns: 1fr; }
  .sz-sidebar { position: static; }
  .sz-footer-grid { grid-template-columns: 1fr; }
  .sz-hero h1 { font-size: 2rem; }
  .sz-hero-stats { gap: 24px; flex-wrap: wrap; }
  .sz-admin-wrap { flex-direction: column; }
  .sz-admin-sidebar { position: static; width: 100%; }
  .sz-admin-main { margin-left: 0; }
}
@media (max-width: 480px) {
  .sz-container { padding: 0 16px; }
  .sz-hero-btns { flex-direction: column; }
  .sz-btn-hero-primary, .sz-btn-hero-ghost { text-align: center; }
}
/* ===== 首页成功案例：Tab 切换 + 高端克制卡片 ===== */
/* Tab 栏（pill 风格，居中） */
.sz-case-tabs { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 36px; }
.sz-case-tab { font: inherit; font-size: .95rem; font-weight: 500; color: var(--gray-600); background: #fff; border: 1px solid var(--gray-200); border-radius: 999px; padding: 9px 22px; cursor: pointer; transition: color .2s, background-color .2s, border-color .2s, box-shadow .2s; }
.sz-case-tab:hover { color: var(--emerald-700); border-color: var(--emerald-300); }
.sz-case-tab.active { color: #fff; background: var(--emerald-500); border-color: var(--emerald-500); box-shadow: 0 4px 12px rgba(16,185,129,.22); font-weight: 600; }

/* Tab 切换：每组 grid 包一层，默认隐藏非 active，保留渐入动画 */
.sz-case-grid-wrap { display: none; }
.sz-case-grid-wrap.active { display: block; animation: szCaseFadeIn .42s ease both; }
@keyframes szCaseFadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.sz-case-empty { padding: 60px 24px; text-align: center; color: var(--gray-400); background: #fff; border: 1px dashed var(--gray-200); border-radius: 8px; }

/* Grid：3 列（更大屏 4 列由现有 sz-grid-4 不复用，这里手写） */
.sz-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 1024px) { .sz-case-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .sz-case-grid { grid-template-columns: 1fr; } }

/* 卡片：高端克制风 —— 6px 圆角（避免大圆角 AI 感），极浅多层阴影，不加绿色描边 */
.sz-case-card { display: flex; flex-direction: column; background: #fff; border: 1px solid #eef0f3; border-radius: 6px; overflow: hidden; text-decoration: none; color: inherit; box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 2px 6px rgba(15,23,42,.04); transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.sz-case-card:hover { transform: translateY(-3px); box-shadow: 0 4px 12px rgba(15,23,42,.06), 0 12px 28px rgba(15,23,42,.08); border-color: #e3e6eb; }
.sz-case-card:hover .sz-case-arrow { color: var(--emerald-600); transform: translateX(3px); }
.sz-case-card:hover .sz-case-title { color: var(--emerald-700); }

/* 封面：16:9 微饱和，加极浅灰底色（无封面 fallback） */
.sz-case-cover { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #f5f7fa; }
.sz-case-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.sz-case-card:hover .sz-case-cover img { transform: scale(1.04); }
.sz-case-cover-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--gray-300); font-size: 2.4rem; }

/* 主体：紧凑留白 */
.sz-case-body { padding: 22px 22px 18px; display: flex; flex-direction: column; flex: 1; min-height: 0; }

/* 元数据行：行业标签 + 阅读数 */
.sz-case-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.sz-case-tag { display: inline-flex; align-items: center; font-size: .72rem; font-weight: 600; color: var(--emerald-700); background: var(--emerald-50); border: 1px solid rgba(16,185,129,.18); border-radius: 4px; padding: 3px 8px; letter-spacing: .02em; }
.sz-case-stat { display: inline-flex; align-items: center; gap: 4px; font-size: .78rem; color: var(--gray-400); }
.sz-case-stat i { font-size: .82rem; }

/* 标题：2 行省略 */
.sz-case-title { font-size: 1rem; font-weight: 700; line-height: 1.5; color: var(--gray-900); margin: 0 0 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; transition: color .2s; }

/* 摘要：2 行省略 */
.sz-case-summary { font-size: .85rem; line-height: 1.65; color: var(--gray-500); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* 底部：日期 + 箭头（互推两端） */
.sz-case-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; padding-top: 14px; border-top: 1px solid #f1f2f4; }
.sz-case-date { display: inline-flex; align-items: center; gap: 5px; font-size: .78rem; color: var(--gray-400); }
.sz-case-date i { font-size: .82rem; }
.sz-case-arrow { color: var(--gray-400); font-size: .85rem; transition: color .2s, transform .2s; }

/* ===== 站长工具：域名综合查询页 ===== */
.sz-tools-hero { position: relative; padding: 70px 0 60px; background: linear-gradient(130deg, #064e3b 0%, #0f766e 52%, #065f46 100%); overflow: hidden; color: #fff; }
.sz-tools-hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 46px 46px; }
.sz-tools-hero .sz-container { position: relative; z-index: 1; }
.sz-tools-hero .sz-section-header { text-align: center; }
.sz-tools-hero .sz-section-title { color: #fff; }
.sz-tools-hero .sz-section-desc { color: rgba(255,255,255,.72); }
.sz-tools-hero-form { display: flex; gap: 12px; max-width: 760px; margin: 0 auto; padding: 12px; border-radius: 16px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); }
.sz-tools-hero-input { flex: 1; min-width: 0; padding: 14px 16px; border: none; border-radius: 10px; font-size: .95rem; outline: none; }
.sz-tools-hero-input:focus { box-shadow: 0 0 0 3px rgba(251,191,36,.5); }
.sz-tools-hero-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 30px; border: none; border-radius: 10px; background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #4c1d95; font-weight: 800; font-size: .95rem; cursor: pointer; white-space: nowrap; transition: transform .2s ease, box-shadow .2s ease; }
.sz-tools-hero-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(251,191,36,.35); }
.sz-tools-hero-quick { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
.sz-tools-hero-quick a { display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 99px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.92); font-size: .84rem; text-decoration: none; transition: background .25s ease, color .25s ease, transform .25s ease; }
.sz-tools-hero-quick a:hover { background: #fff; color: var(--emerald-700); transform: translateY(-2px); }

/* 查询结果 */
.sz-domain-error { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 30px 0; padding: 18px; border-radius: 12px; background: #fef2f2; color: #b91c1c; font-weight: 600; }
.sz-domain-status { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin: 36px 0 20px; padding: 14px 18px; background: var(--gray-50); border-radius: 12px; color: var(--gray-600); font-size: .88rem; }
.sz-domain-status i { color: var(--emerald-500); }
.sz-domain-reload { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; border-radius: 99px; background: var(--emerald-600); color: #fff; text-decoration: none; font-weight: 700; font-size: .85rem; transition: background .2s ease; }
.sz-domain-reload:hover { background: var(--emerald-700); }

.sz-domain-results { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-bottom: 40px; }
.sz-domain-card { background: #fff; border: 1px solid var(--gray-200); border-radius: 16px; padding: 24px; box-shadow: 0 10px 30px rgba(0,0,0,.04); transition: transform .2s ease, box-shadow .2s ease; }
.sz-domain-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0,0,0,.07); }
.sz-domain-card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.sz-domain-card-ico { width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, #10b981, #34d399); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; flex-shrink: 0; }
.sz-domain-card h3 { font-size: 1.1rem; font-weight: 800; color: var(--gray-900); margin: 0; }
.sz-domain-dl { display: grid; grid-template-columns: 90px 1fr; gap: 10px 14px; font-size: .9rem; align-items: baseline; }
.sz-domain-dl dt { color: var(--gray-500); font-weight: 600; }
.sz-domain-dl dd { color: var(--gray-800); margin: 0; word-break: break-all; }
.sz-domain-dl dd.sz-domain-break { word-break: break-all; }
.sz-domain-fail { display: flex; align-items: center; gap: 8px; padding: 14px; border-radius: 10px; background: #fff7ed; color: #c2410c; font-size: .88rem; }
.sz-domain-fail i { color: #f97316; }

.sz-domain-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 99px; font-size: .82rem; font-weight: 700; }
.sz-domain-badge.good { background: #dcfce7; color: #15803d; }
.sz-domain-badge.ok { background: #fef9c3; color: #a16207; }
.sz-domain-badge.warn { background: #fee2e2; color: #b91c1c; }

/* 最近查询 */
.sz-domain-latest { background: #f8fafc; border: 1px solid var(--gray-200); border-radius: 16px; padding: 28px; }
.sz-domain-latest-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.sz-domain-latest-head h3 { font-size: 1.1rem; font-weight: 800; color: var(--gray-900); margin: 0; display: flex; align-items: center; gap: 8px; }
.sz-domain-latest-head h3 i { color: var(--emerald-500); }
.sz-domain-latest-sub { font-size: .84rem; color: var(--gray-500); }
.sz-domain-latest-list { display: flex; flex-wrap: wrap; gap: 10px; }
.sz-domain-latest-item { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: 99px; background: #fff; border: 1px solid var(--gray-200); color: var(--gray-700); font-size: .86rem; text-decoration: none; transition: all .2s ease; }
.sz-domain-latest-item:hover { border-color: var(--emerald-300); color: var(--emerald-700); box-shadow: 0 6px 18px rgba(16,185,129,.08); }
.sz-domain-latest-item.on { background: var(--emerald-50); border-color: var(--emerald-300); color: var(--emerald-700); }
.sz-domain-latest-item i { color: var(--emerald-500); font-size: .8rem; }
.sz-domain-latest-name { font-weight: 700; }
.sz-domain-latest-meta { color: var(--gray-400); font-size: .78rem; }

@media (max-width: 900px) {
  .sz-domain-results { grid-template-columns: 1fr; }
  .sz-tools-hero-form { flex-direction: column; }
  .sz-tools-hero-btn { justify-content: center; }
  .sz-domain-status { flex-direction: column; align-items: flex-start; }
}

/* ============================================================
   社区首页 / 版块页：三栏满屏布局
   左栏只靠标题与悬浮区分区块，不做卡片包裹
   ============================================================ */
.sz-cm-wrap { display: grid; grid-template-columns: 232px minmax(0, 1fr) 300px; gap: 26px;
              align-items: start; width: 100%; padding: 22px 24px 60px; }

/* ---- 左栏：整栏吸顶；内容超出高度时内部滚动 ---- */
.sz-cm-side { position: sticky; top: calc(var(--header-h) + 66px); min-width: 0;
              max-height: calc(100vh - var(--header-h) - 90px);
              display: flex; flex-direction: column; }
.sz-cm-side-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
/* Chrome/Edge/Safari：1px 线条滚动条。
   注意：只要声明了标准的 scrollbar-width / scrollbar-color，Chrome 就会整个忽略下面的 ::-webkit-scrollbar，
   所以这里绝对不能在主规则里写那两个属性，Firefox 的回退放到 @supports 里。
   滚动条默认透明，只在「鼠标悬停左栏」或「页面/左栏正在滚动」时才显形。 */
.sz-cm-side-scroll::-webkit-scrollbar { width: 1px; height: 1px; }
.sz-cm-side-scroll::-webkit-scrollbar-track { background: transparent; }
.sz-cm-side-scroll::-webkit-scrollbar-thumb { background: transparent; }
.sz-cm-side:hover .sz-cm-side-scroll::-webkit-scrollbar-thumb,
.sz-cm-side.is-scrolling .sz-cm-side-scroll::-webkit-scrollbar-thumb { background: #d1d5db; }
.sz-cm-side:hover .sz-cm-side-scroll::-webkit-scrollbar-thumb:hover { background: #9ca3af; }
@supports not selector(::-webkit-scrollbar) {
  .sz-cm-side-scroll { scrollbar-width: thin; scrollbar-color: transparent transparent; }
  .sz-cm-side:hover .sz-cm-side-scroll,
  .sz-cm-side.is-scrolling .sz-cm-side-scroll { scrollbar-color: #d1d5db transparent; }
}
.sz-cm-side-inner { display: flex; flex-direction: column; gap: 24px; padding-right: 3px; padding-bottom: 6px; }

/* 左栏内的卡片型组件（如社区活动）：纵向间距交给 .sz-cm-side-inner 的 gap，去掉自身 margin */
.sz-cm-side-inner > .sz-community-widget { margin-bottom: 0; }
/* 社区活动在左栏：窄栏下文案与按钮纵向排列 */
.sz-cm-side .sz-cm-activity { flex-direction: column; align-items: flex-start; gap: 12px; }
.sz-cm-side .sz-cm-activity-body { width: 100%; }
.sz-cm-side .sz-cm-activity-title { font-size: .9rem; }
.sz-cm-side .sz-cm-activity-desc { font-size: .78rem; line-height: 1.65; }
.sz-cm-block-title { display: flex; align-items: center; gap: 8px; font-size: .95rem; font-weight: 700;
                     color: var(--gray-900); margin-bottom: 8px; }
.sz-cm-block-title::before { content: ''; width: 3px; height: 15px; border-radius: 2px; background: var(--emerald-500); }
.sz-cm-more { margin-left: auto; font-size: .75rem; font-weight: 400; color: var(--gray-400); text-decoration: none; }
.sz-cm-more:hover { color: var(--emerald-600); }
.sz-cm-more i { font-size: .62rem; margin-left: 2px; }

.sz-cm-board { display: flex; align-items: center; gap: 9px; padding: 9px 10px; border-radius: 4px;
               font-size: .88rem; color: var(--gray-600); text-decoration: none; transition: background .18s, color .18s; }
.sz-cm-board i { width: 15px; text-align: center; font-size: .8rem; color: var(--gray-400); transition: color .18s; }
.sz-cm-board-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sz-cm-board-count { margin-left: auto; flex-shrink: 0; font-size: .74rem; color: var(--gray-400); }
.sz-cm-board:hover { background: var(--emerald-50); color: var(--emerald-700); }
.sz-cm-board:hover i { color: var(--emerald-500); }
.sz-cm-board.active { background: var(--emerald-50); color: var(--emerald-700); font-weight: 700; }
.sz-cm-board.active i { color: var(--emerald-500); }
.sz-cm-board.active .sz-cm-board-count { color: var(--emerald-600); font-weight: 600; }

/* 版块列表半折叠：默认只露 5 行 + 底部渐隐，
   在列表内向下滑过一半、或点「展开全部」，就完全展开。
   目的是让下方的社区活动在打开社区首页时就能无遮挡露出。 */
.sz-cm-boards-wrap { position: relative; }
/* 单行版块高约 40.5px（.88rem × 1.6 行高 + 上下各 9px padding），206px ≈ 露 5 行 + 第 6 行露头 */
.sz-cm-boards { max-height: 206px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
                scrollbar-width: none; transition: max-height .3s ease; }
.sz-cm-boards::-webkit-scrollbar { width: 0; height: 0; }
/* 渐隐遮罩层级必须低于「展开」热区，否则会把提示文字整块盖住 */
.sz-cm-boards-wrap.is-fold::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 52px;
                                    z-index: 1; pointer-events: none;
                                    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 70%); }
/* 渐隐区整体是「可点 / 可悬停」的展开热区，底部给一个 + 胶囊提示 */
.sz-cm-boards-mask { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; width: 100%; height: 52px;
                     display: flex; align-items: flex-end; justify-content: center; padding: 0 0 5px;
                     border: none; background: transparent; cursor: pointer; font-family: inherit; }
.sz-cm-boards-mask-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 12px;
                          border-radius: 99px; background: #fff; border: 1px solid var(--gray-200);
                          box-shadow: 0 1px 4px rgba(15,23,42,.08);
                          font-size: .74rem; font-weight: 600; color: var(--gray-500);
                          transition: color .18s, border-color .18s, background .18s; }
.sz-cm-boards-mask-pill i { font-size: .66rem; }
.sz-cm-boards-mask:hover .sz-cm-boards-mask-pill,
.sz-cm-boards-mask:focus-visible .sz-cm-boards-mask-pill { color: var(--emerald-700);
                          border-color: var(--emerald-400); background: var(--emerald-50); }
.sz-cm-boards-wrap.is-open .sz-cm-boards { max-height: none; overflow: visible; }
.sz-cm-boards-wrap.is-open .sz-cm-boards-mask { display: none; }
.sz-cm-boards-collapse { display: block; width: 100%; margin-top: 4px; padding: 4px 0; border: none;
                         background: transparent; cursor: pointer; font-family: inherit;
                         font-size: .74rem; color: var(--gray-400); text-align: center; }
.sz-cm-boards-collapse:hover { color: var(--emerald-600); }
.sz-cm-boards-collapse[hidden] { display: none; }

.sz-cm-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.sz-cm-tags a { padding: 5px 12px; border-radius: 99px; background: var(--gray-100); color: var(--gray-600);
                font-size: .78rem; text-decoration: none; transition: background .18s, color .18s; }
.sz-cm-tags a:hover, .sz-cm-tags a.on { background: var(--emerald-500); color: #fff; }

/* ---- 中栏 ---- */
.sz-cm-main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }

.sz-cm-notice { display: flex; align-items: center; gap: 10px; padding: 11px 18px; border-radius: 4px;
                background: var(--emerald-50); border: 1px solid var(--emerald-100);
                font-size: .85rem; color: var(--emerald-800); }
.sz-cm-notice > i { color: var(--emerald-500); flex-shrink: 0; }
.sz-cm-notice-txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.sz-cm-cta { position: relative; display: flex; align-items: center; gap: 24px; padding: 30px 34px;
             border-radius: 6px; overflow: hidden; color: #fff;
             background: linear-gradient(120deg, var(--emerald-700), var(--emerald-500) 58%, var(--gold-500)); }
.sz-cm-cta::after { content: ''; position: absolute; right: -46px; top: -70px; width: 230px; height: 230px;
                    border-radius: 50%; background: rgba(255,255,255,.13); pointer-events: none; }
.sz-cm-cta-body { position: relative; z-index: 1; flex: 1; min-width: 0; }
.sz-cm-cta h3 { font-size: 1.35rem; font-weight: 800; margin: 0 0 8px; }
.sz-cm-cta p { font-size: .9rem; color: rgba(255,255,255,.9); margin: 0; }
.sz-cm-cta-dots { display: flex; gap: 5px; margin-top: 16px; }
.sz-cm-cta-dots span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.5); }
.sz-cm-cta-dots span:first-child { background: #fff; }
.sz-cm-cta-btn { position: relative; z-index: 1; flex-shrink: 0; padding: 11px 26px; border-radius: 4px;
                 background: #fff; color: var(--emerald-700); font-weight: 700; font-size: .9rem;
                 text-decoration: none; transition: transform .2s; }
.sz-cm-cta-btn:hover { transform: translateY(-2px); }

.sz-cm-tabsbar { display: flex; align-items: center; gap: 2px; padding: 4px 0 0; border-bottom: 1px solid var(--gray-100); }
.sz-cm-tabsbar a { position: relative; padding: 10px 16px; font-size: 15px; color: var(--gray-600);
                   text-decoration: none; white-space: nowrap; transition: color .2s; }
.sz-cm-tabsbar a:hover { color: var(--emerald-600); }
.sz-cm-tabsbar a.active { color: var(--emerald-600); font-weight: 700; }
.sz-cm-tabsbar a.active::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: -1px;
                                 height: 2.5px; border-radius: 1px 1px 0 0;
                                 background: linear-gradient(90deg, var(--emerald-500), var(--emerald-400)); }
.sz-cm-tabsbar-meta { margin-left: auto; font-size: .78rem; color: var(--gray-400); white-space: nowrap; }
.sz-cm-tabsbar-clear { color: var(--emerald-600); margin-left: 4px; }

.sz-cm-crumb { display: flex; align-items: center; gap: 8px; font-size: .85rem; color: var(--gray-400); }
.sz-cm-crumb a { color: var(--gray-500); text-decoration: none; }
.sz-cm-crumb a:hover { color: var(--emerald-600); }
.sz-cm-crumb i { font-size: .6rem; }
.sz-cm-crumb span { color: var(--gray-900); font-weight: 600; }

.sz-cm-boardintro { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 5px;
                    background: linear-gradient(120deg, var(--emerald-50), #fef9e7); border: 1px solid var(--emerald-100); }
.sz-cm-boardintro-ico { width: 46px; height: 46px; flex-shrink: 0; border-radius: 6px; display: flex;
                        align-items: center; justify-content: center; color: #fff; font-size: 1.1rem;
                        background: linear-gradient(135deg, var(--emerald-500), var(--emerald-700)); }
.sz-cm-boardintro-name { font-size: 1rem; font-weight: 800; color: var(--gray-900); margin-bottom: 4px; }
.sz-cm-boardintro-desc { font-size: .82rem; color: var(--gray-500); line-height: 1.6; }

/* ---- 右栏 ---- */
.sz-cm-right { display: flex; flex-direction: column; gap: 18px; align-self: start; min-width: 0; }

/* ---- 右栏：各功能模块 ---- */

/* 用户操作卡（无阴影） */
.sz-cm-ucard { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px;
               padding: 18px 16px 16px; }
.sz-cm-uactions { display: flex; align-items: stretch; }
.sz-cm-uaction { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px;
                 padding: 4px 0 16px; text-decoration: none; }
.sz-cm-uaction + .sz-cm-uaction { border-left: 1px solid var(--gray-100); }
.sz-cm-uaction-ico { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center;
                     justify-content: center; font-size: 1.15rem;
                     color: var(--emerald-600); background: linear-gradient(135deg, #ecfdf5, #d1fae5); }
.sz-cm-uaction-ico.c2 { color: var(--gold-600); background: linear-gradient(135deg, #fffbeb, #fef3c7); }
.sz-cm-uaction-txt { font-size: .85rem; color: var(--gray-700); }
.sz-cm-uaction:hover .sz-cm-uaction-txt { color: var(--emerald-600); }
.sz-cm-ubtn { display: flex; align-items: center; justify-content: center; gap: 8px; height: 42px;
              border-radius: 4px; text-decoration: none; color: #fff; font-size: .92rem; font-weight: 700;
              background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600)); }
.sz-cm-ubtn:hover { filter: brightness(1.06); }

/* 作者卡片（帖子详情页右栏顶部）：作者信息 + 统计 + 快捷操作 */
.sz-cm-acard { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px;
               padding: 18px 16px 16px; }
.sz-cm-acard-user { display: flex; align-items: center; gap: 12px; }
.sz-cm-acard-avatar { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; flex: none;
                      display: flex; align-items: center; justify-content: center;
                      background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600));
                      color: #fff; font-size: 1.4rem; font-weight: 700; }
.sz-cm-acard-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sz-cm-acard-info { min-width: 0; }
.sz-cm-acard-nameline { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sz-cm-acard-name { font-size: 1.05rem; font-weight: 800; color: var(--gray-900);
                    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sz-cm-acard-vip { display: inline-flex; align-items: center; gap: 3px; flex: none;
                   font-size: .72rem; font-weight: 700; color: var(--gold-600);
                   background: linear-gradient(135deg, #fffbeb, #fef3c7);
                   border: 1px solid #fde68a; border-radius: 999px; padding: 1px 8px; }
.sz-cm-acard-lz { display: inline-block; margin-top: 4px; font-size: .74rem; color: var(--emerald-600);
                  background: #ecfdf5; border-radius: 999px; padding: 1px 8px; font-weight: 600; }
.sz-cm-acard-bio { margin: 12px 0 0; font-size: .85rem; line-height: 1.65; color: var(--gray-600);
                   word-break: break-word; }
.sz-cm-acard-stats { display: flex; margin-top: 14px; }
.sz-cm-acard-stats > div { flex: 1; text-align: center; }
.sz-cm-acard-stats > div + div { border-left: 1px solid var(--gray-100); }
.sz-cm-acard-stats b { display: block; font-size: 1.05rem; font-weight: 800; color: var(--gray-900); }
.sz-cm-acard-stats span { display: block; margin-top: 2px; font-size: .76rem; color: var(--gray-500); }
.sz-cm-acard-divider { height: 1px; background: var(--gray-100); margin: 16px -16px; }
.sz-cm-acard .sz-cm-uaction { padding-bottom: 12px; }
.sz-cm-acard .sz-cm-ubtn { margin-top: 4px; }
.sz-cm-acard .sz-cm-login-btn { display: flex; align-items: center; justify-content: center; }

/* ---- 帖子详情页：作者头像/昵称链接 ---- */
.sz-th-author-link { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
a.sz-th-avatar-sm { display: flex; align-items: center; justify-content: center; text-decoration: none; color: inherit; }
a.sz-th-reply-name { text-decoration: none; color: var(--gray-900); font-weight: 700; }
a.sz-th-reply-name:hover { color: var(--emerald-600); }

/* ---- 个人主页 /community/u/<id>：四块横幅 ---- */
.sz-au-banner { position: relative; overflow: hidden; background: #fff; border: 1px solid var(--gray-100);
                border-radius: 8px; padding: 26px 24px; margin-bottom: 18px; }
.sz-au-bg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.sz-au-bg-blob { animation: szAuBlob 14s ease-in-out infinite alternate; transform-origin: 70% 40%; }
@keyframes szAuBlob {
  0%   { transform: translate(0, 0) scale(1); }
  50%  { transform: translate(-26px, 14px) scale(1.08); }
  100% { transform: translate(18px, -10px) scale(.95); }
}
.sz-au-bg path { stroke-dasharray: 6 10; animation: szAuDash 22s linear infinite; }
@keyframes szAuDash { to { stroke-dashoffset: -320; } }
.sz-au-bg-dot { animation: szAuDot 3.2s ease-in-out infinite; }
.sz-au-bg-dot.d2 { animation-delay: .6s; } .sz-au-bg-dot.d3 { animation-delay: 1.2s; }
.sz-au-bg-dot.d4 { animation-delay: 1.8s; } .sz-au-bg-dot.d5 { animation-delay: 2.4s; }
@keyframes szAuDot {
  0%, 100% { opacity: .25; transform: translateY(0); }
  50%      { opacity: 1;   transform: translateY(-6px); }
}
.sz-au-grid { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto;
              gap: 26px; align-items: center; }
.sz-au-cell.c-avatar { padding-right: 26px; border-right: 1px solid var(--gray-100); }
.sz-au-cell.c-id { align-self: center; }
.sz-au-cell.c-stats { padding: 0 26px; border-left: 1px solid var(--gray-100); }
.sz-au-cell.c-acts { align-self: center; }
.sz-au-avatar { width: 88px; height: 88px; border-radius: 50%; overflow: hidden;
                display: flex; align-items: center; justify-content: center;
                background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600));
                color: #fff; font-size: 2.1rem; font-weight: 700; box-shadow: 0 4px 16px rgba(16,185,129,.25); }
.sz-au-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sz-au-nameline { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sz-au-name { font-size: 1.35rem; font-weight: 800; color: var(--gray-900); }
.sz-au-level { font-size: .72rem; font-weight: 700; color: var(--emerald-600);
               background: #ecfdf5; border-radius: 999px; padding: 1px 8px; }
.sz-au-bio { margin: 8px 0 0; font-size: .88rem; line-height: 1.7; color: var(--gray-600);
             white-space: pre-wrap; word-break: break-word; }
.sz-au-meta { margin-top: 8px; display: flex; gap: 18px; flex-wrap: wrap; font-size: .8rem; color: var(--gray-500); }
.sz-au-meta i { margin-right: 5px; }
.sz-au-stats { display: grid; grid-template-columns: repeat(2, minmax(72px, auto)); gap: 10px 26px; }
.sz-au-stats > div { text-align: center; }
.sz-au-stats b { display: block; font-size: 1.2rem; font-weight: 800; color: var(--gray-900); }
.sz-au-stats span { font-size: .76rem; color: var(--gray-500); }
.sz-au-stat-note { margin-top: 10px; font-size: .78rem; color: var(--gray-500); }
.sz-au-stat-note i { margin-right: 4px; }
.sz-au-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sz-au-btn { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 18px;
             border-radius: 4px; font-size: .88rem; font-weight: 700; cursor: pointer;
             border: 1px solid var(--gray-200); background: #fff; color: var(--gray-700); text-decoration: none; }
.sz-au-btn:hover { border-color: var(--emerald-500); color: var(--emerald-600); }
.sz-au-btn-primary { background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600)); color: #fff; border: none; }
.sz-au-btn-primary:hover { filter: brightness(1.06); color: #fff; }
.sz-au-btn-primary.followed { background: #fff; color: var(--gray-600); border: 1px solid var(--gray-300); }
.sz-au-btn-primary.followed:hover { border-color: var(--gray-400); color: var(--gray-700); filter: none; }

/* Tab：他的帖子 / 他的回复 */
.sz-au-tabs { display: flex; gap: 8px; margin-bottom: 16px; }
.sz-au-tab { display: inline-flex; align-items: center; gap: 7px; padding: 9px 18px; border-radius: 999px;
             font-size: .9rem; font-weight: 700; text-decoration: none; color: var(--gray-600);
             border: 1px solid var(--gray-200); background: #fff; }
.sz-au-tab:hover { color: var(--emerald-600); }
.sz-au-tab.active { background: var(--emerald-500); border-color: var(--emerald-500); color: #fff; }

/* 回复列表 */
.sz-au-replies { display: flex; flex-direction: column; gap: 12px; }
.sz-au-reply { display: block; background: #fff; border: 1px solid var(--gray-100); border-radius: 8px;
               padding: 16px 18px; text-decoration: none; color: inherit; transition: border-color .15s; }
.sz-au-reply:hover { border-color: var(--emerald-500); }
.sz-au-reply-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.sz-au-reply-post { font-size: .85rem; font-weight: 700; color: var(--emerald-600); }
.sz-au-reply-text { margin: 0; font-size: .9rem; line-height: 1.7; color: var(--gray-700); word-break: break-word; }
.sz-au-reply-meta { margin-top: 10px; display: flex; gap: 16px; font-size: .8rem; color: var(--gray-500); }

/* 精华 / 热帖徽标 */
.sz-cm-badge { display: inline-flex; align-items: center; gap: 3px; font-size: .7rem; font-weight: 700;
               border-radius: 999px; padding: 1px 8px; vertical-align: middle; }
.sz-cm-badge-feat { color: #7c3aed; background: #f5f3ff; border: 1px solid #ddd6fe; }
.sz-cm-badge-hot { color: #ea580c; background: #fff7ed; border: 1px solid #fed7aa; }

/* 私信弹窗 */
.sz-au-msg-mask { position: fixed; inset: 0; background: rgba(17,24,39,.45); z-index: 999;
                  display: flex; align-items: center; justify-content: center; padding: 20px; }
.sz-au-msg-mask[hidden] { display: none; }
.sz-au-msg-modal { width: 100%; max-width: 460px; background: #fff; border-radius: 10px; padding: 18px;
                   box-shadow: 0 20px 50px rgba(0,0,0,.2); }
.sz-au-msg-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;
                  font-weight: 800; color: var(--gray-900); }
.sz-au-msg-close { border: none; background: none; cursor: pointer; font-size: 1.1rem; color: var(--gray-400); }
.sz-au-msg-close:hover { color: var(--gray-700); }
.sz-au-msg-foot { margin-top: 12px; display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.sz-au-msg-err { color: #ef4444; font-size: .82rem; }

/* 私信收件箱 Tab */
.sz-msg-tabs { display: flex; gap: 8px; margin-bottom: 14px; }
.sz-msg-tab { display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; border-radius: 999px;
              font-size: .86rem; font-weight: 700; text-decoration: none; color: var(--gray-600);
              border: 1px solid var(--gray-200); background: #fff; }
.sz-msg-tab.active { background: var(--emerald-500); border-color: var(--emerald-500); color: #fff; }
.sz-msg-avatar { width: 42px; height: 42px; border-radius: 50%; overflow: hidden; flex: none;
                 display: flex; align-items: center; justify-content: center;
                 background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600));
                 color: #fff; font-weight: 700; text-decoration: none; }
.sz-msg-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sz-msg-body { flex: 1; min-width: 0; }
.sz-msg-name { font-weight: 700; color: var(--gray-900); text-decoration: none; margin-right: 8px; }
.sz-msg-name:hover { color: var(--emerald-600); }
.sz-msg-content { font-size: .88rem; color: var(--gray-600); line-height: 1.65; margin-top: 4px; word-break: break-word; }

/* 作者页回复：最佳答案高亮 */
.sz-au-reply.is-best { border-color: #fde68a; background: linear-gradient(135deg, #fffdf5, #fffbeb); }

@media (max-width: 860px) {
  .sz-au-banner { padding: 20px 16px; }
  .sz-au-grid { grid-template-columns: 1fr; gap: 18px; text-align: center; }
  .sz-au-cell.c-avatar { padding-right: 0; border-right: none; }
  .sz-au-cell { display: flex; flex-direction: column; align-items: center; }
  .sz-au-cell.c-stats { padding: 0; border-left: none; }
  .sz-au-nameline, .sz-au-meta, .sz-au-actions { justify-content: center; }
  .sz-au-stats { justify-items: center; }
}

/* 全站层弹窗（覆写原生 alert） */
.sz-layer-alert-mask { position: fixed; inset: 0; z-index: 9999; background: rgba(17,24,39,.45);
                       display: none; align-items: center; justify-content: center; padding: 20px; }
.sz-layer-alert-mask.show { display: flex; }
.sz-layer-alert { width: 100%; max-width: 380px; background: #fff; border: 1px solid var(--gray-200);
                  border-radius: 10px; box-shadow: 0 16px 48px rgba(0,0,0,.18); overflow: hidden;
                  animation: szLayerIn .16s ease; }
@keyframes szLayerIn { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.sz-layer-alert-head { display: flex; align-items: center; gap: 8px; padding: 13px 18px;
                       font-size: .95rem; font-weight: 800; color: var(--gray-900);
                       border-bottom: 1px solid var(--gray-100); background: var(--gray-50, #f9fafb); }
.sz-layer-alert-head i { color: var(--emerald-500); font-size: 1rem; }
.sz-layer-alert-msg { padding: 18px; font-size: .9rem; line-height: 1.7; color: var(--gray-700); word-break: break-word; }
.sz-layer-alert-foot { padding: 0 18px 16px; display: flex; justify-content: flex-end; }
.sz-layer-alert-btn { height: 34px; padding: 0 22px; border: 1px solid var(--emerald-500);
                      background: var(--emerald-500); color: #fff; border-radius: 4px;
                      font-size: .86rem; font-weight: 700; cursor: pointer; transition: filter .15s; }
.sz-layer-alert-btn:hover { filter: brightness(1.06); }

/* ===== 资讯：内容区样式（三栏布局与左右栏均复用社区 .sz-cm-wrap / .sz-cm-side / .sz-cm-right / .sz-community-widget） ===== */
.sz-nw-catlist { display: flex; flex-direction: column; }

/* 页头 */
.sz-nw-head { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px; padding: 18px 20px; }
.sz-nw-head h1 { font-size: 1.3rem; font-weight: 800; color: var(--gray-900);
                 display: flex; align-items: center; gap: 10px; }
.sz-nw-head h1 i { color: var(--emerald-500); font-size: 1.1rem; }
.sz-nw-head p { margin-top: 6px; font-size: .85rem; color: var(--gray-500); line-height: 1.7; }

/* 统计 / 筛选条 */
.sz-nw-filterbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
                   font-size: .82rem; color: var(--gray-500); padding: 0 2px; }
.sz-nw-filterbar-count b { color: var(--gray-900); }
.sz-nw-filterbar-cur { display: inline-flex; align-items: center; gap: 6px; color: var(--emerald-700);
                       background: var(--emerald-50); border: 1px solid var(--emerald-100);
                       border-radius: 99px; padding: 3px 12px; }
.sz-nw-filterbar-cur i { font-size: .72rem; }
.sz-nw-filterbar-cur a { color: var(--emerald-600); font-weight: 600; text-decoration: none; }

/* 文章列表 */
.sz-nw-list { display: flex; flex-direction: column; gap: 14px; }
.sz-nw-card { display: flex; gap: 18px; padding: 16px; background: #fff; border: 1px solid var(--gray-100);
              border-radius: 8px; text-decoration: none; transition: border-color .15s, transform .15s; }
.sz-nw-card:hover { border-color: var(--emerald-300); transform: translateY(-1px); }
.sz-nw-cover { width: 180px; height: 120px; border-radius: 6px; object-fit: cover; flex: none; display: block; }
.sz-nw-cover-ph { background: linear-gradient(135deg, var(--emerald-500), var(--emerald-700));
                  display: flex; align-items: center; justify-content: center;
                  color: rgba(255,255,255,.5); font-size: 2rem; }
.sz-nw-body { flex: 1; min-width: 0; }
.sz-nw-badges { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; }
.sz-nw-badge { display: inline-flex; align-items: center; gap: 3px; font-size: .7rem; font-weight: 700;
               border-radius: 999px; padding: 1px 8px; }
.sz-nw-badge-top { color: #b45309; background: #fffbeb; border: 1px solid #fde68a; }
.sz-nw-badge-vip { color: var(--gold-600); background: linear-gradient(135deg, #fffbeb, #fef3c7); border: 1px solid #fde68a; }
.sz-nw-badge-cat { color: var(--emerald-700); background: var(--emerald-50); border: 1px solid var(--emerald-200); }
.sz-nw-title { font-size: 1.02rem; font-weight: 700; color: var(--gray-900); margin-bottom: 6px;
               display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sz-nw-card:hover .sz-nw-title { color: var(--emerald-600); }
.sz-nw-sum { font-size: .85rem; color: var(--gray-500); line-height: 1.65;
             display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sz-nw-meta { margin-top: 10px; display: flex; gap: 14px; flex-wrap: wrap; font-size: .78rem; color: var(--gray-400); }
.sz-nw-empty { background: #fff; border: 1px solid var(--gray-100); border-radius: 8px;
               padding: 56px 20px; text-align: center; color: var(--gray-400); }
.sz-nw-empty i { display: block; font-size: 2.6rem; margin-bottom: 12px; }

/* 标签视图 */
.sz-nw-tagsgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.sz-nw-tagcard { display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: #fff;
                 border: 1px solid var(--gray-100); border-radius: 6px; text-decoration: none;
                 color: var(--gray-700); font-size: .85rem; transition: all .15s; }
.sz-nw-tagcard i { color: var(--gray-400); font-size: .78rem; }
.sz-nw-tagcard-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sz-nw-tagcard-num { font-size: .74rem; color: var(--gray-400); flex: none; }
.sz-nw-tagcard:hover, .sz-nw-tagcard.on { border-color: var(--emerald-300); background: var(--emerald-50); color: var(--emerald-700); }
.sz-nw-tagcard:hover i, .sz-nw-tagcard.on i { color: var(--emerald-500); }

/* 投稿视图 */
.sz-nw-submit { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px;
                padding: 30px 26px; text-align: center; }
.sz-nw-submit-ico { width: 64px; height: 64px; margin: 0 auto 14px; border-radius: 18px;
                    display: flex; align-items: center; justify-content: center; font-size: 1.5rem;
                    color: #fff; background: linear-gradient(135deg, var(--emerald-500), var(--emerald-700)); }
.sz-nw-submit h2 { font-size: 1.1rem; font-weight: 800; color: var(--gray-900); margin-bottom: 16px; }
.sz-nw-submit-steps { text-align: left; max-width: 640px; margin: 0 auto 22px; padding-left: 20px;
                      color: var(--gray-600); font-size: .88rem; line-height: 2; }
.sz-nw-submit-steps b { color: var(--gray-800); }
.sz-nw-submit-steps a { color: var(--emerald-600); }
.sz-nw-submit-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* 文章页 */
.sz-nw-article { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px; padding: 28px 30px; }
.sz-nw-article-title { font-size: 1.6rem; font-weight: 800; color: var(--gray-900); line-height: 1.4; }
.sz-nw-article-meta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin: 14px 0 22px;
                      padding-bottom: 18px; border-bottom: 1px solid var(--gray-100);
                      font-size: .8rem; color: var(--gray-400); }
.sz-nw-article-tags { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--gray-100);
                      display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
                      font-size: .85rem; color: var(--gray-500); }

/* 上下篇：始终同一行 */
.sz-nw-prevnext { display: flex; gap: 14px; flex-wrap: nowrap; }
.sz-nw-pn { flex: 1 1 0; min-width: 0; padding: 14px 16px; background: #fff; border: 1px solid var(--gray-100);
           border-radius: 6px; text-decoration: none; transition: border-color .15s; }
.sz-nw-pn:hover { border-color: var(--emerald-300); }
.sz-nw-pn.is-next { text-align: right; }
.sz-nw-pn-label { font-size: .75rem; color: var(--gray-400); margin-bottom: 6px; }
.sz-nw-pn-title { font-size: .88rem; color: var(--gray-700); line-height: 1.6; overflow: hidden;
                  text-overflow: ellipsis; white-space: nowrap; }

/* 文章页：作者 / 分类链接 */
.sz-nw-article-meta a { color: var(--gray-500); text-decoration: none; }
.sz-nw-article-meta a:hover { color: var(--emerald-600); }
.sz-nw-article-meta a i { margin-right: 2px; }

/* 评论表单：表情 + 按钮同一行 */
.sz-nw-cform-foot { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.sz-nw-cform-foot .cmj-picker { margin-right: auto; }

/* 同分类推荐 TAB（评论区下方） */
.sz-nw-moretabs { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px; overflow: hidden; }
.sz-nw-moretabs-head { display: flex; align-items: center; gap: 4px; padding: 0 12px;
                       border-bottom: 1px solid var(--gray-100); }
.sz-nw-mtab { position: relative; padding: 12px 14px; border: none; background: none; cursor: pointer;
              font-family: inherit; font-size: .9rem; color: var(--gray-600); transition: color .2s; }
.sz-nw-mtab i { margin-right: 4px; font-size: .82rem; }
.sz-nw-mtab:hover { color: var(--emerald-600); }
.sz-nw-mtab.on { color: var(--emerald-600); font-weight: 700; }
.sz-nw-mtab.on::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 2.5px;
                        border-radius: 1px 1px 0 0;
                        background: linear-gradient(90deg, var(--emerald-500), var(--emerald-400)); }
.sz-nw-moretabs-more { margin-left: auto; font-size: .8rem; color: var(--gray-500); text-decoration: none; }
.sz-nw-moretabs-more:hover { color: var(--emerald-600); }
.sz-nw-moretabs-more i { font-size: .7rem; }
.sz-nw-mpanel { padding: 6px 18px 12px; }
.sz-nw-mpanel[hidden] { display: none; }
.sz-nw-mitem { display: flex; align-items: center; gap: 12px; padding: 10px 0; text-decoration: none;
               border-bottom: 1px dashed var(--gray-100); }
.sz-nw-mitem:last-child { border-bottom: none; }
.sz-nw-mitem-title { flex: 1; min-width: 0; font-size: .88rem; color: var(--gray-700); overflow: hidden;
                     text-overflow: ellipsis; white-space: nowrap; }
.sz-nw-mitem:hover .sz-nw-mitem-title { color: var(--emerald-600); }
.sz-nw-mitem-meta { flex: none; font-size: .75rem; color: var(--gray-400); }
.sz-nw-mempty { padding: 14px 0; font-size: .84rem; color: var(--gray-400); }

/* 评论 */
.sz-nw-comments { display: flex; flex-direction: column; }
.sz-nw-comment { display: flex; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--gray-100); }
.sz-nw-comment:last-child { border-bottom: none; }
.sz-nw-comment-body { flex: 1; min-width: 0; }
.sz-nw-comment-head { display: flex; align-items: center; gap: 10px; }
.sz-nw-comment-name { font-size: .875rem; font-weight: 600; color: var(--gray-900); }
a.sz-nw-comment-name { text-decoration: none; }
a.sz-nw-comment-name:hover { color: var(--emerald-600); }
.sz-nw-comment-time { font-size: .75rem; color: var(--gray-400); }
.sz-nw-comment-txt { margin-top: 6px; font-size: .9rem; color: var(--gray-700); line-height: 1.7; }

/* 右栏：最新/相关文章列表 + VIP 卡 */
.sz-nw-latest a { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--gray-700);
                  font-size: .84rem; padding: 8px 0; border-bottom: 1px dashed var(--gray-100); }
.sz-nw-latest a:last-child { border-bottom: none; }
.sz-nw-latest a:hover { color: var(--emerald-600); }
.sz-nw-latest-txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sz-nw-latest-date { font-size: .75rem; color: var(--gray-400); flex: none; }
.sz-nw-widget-vip { background: linear-gradient(135deg, var(--emerald-50), #fef9e7); border-color: var(--emerald-200); }
.sz-nw-vip-desc { font-size: .82rem; color: var(--gray-600); line-height: 1.7; margin-bottom: 12px; }

@media (max-width: 820px) {
  .sz-nw-card { flex-direction: column; gap: 12px; }
  .sz-nw-cover { width: 100%; height: 180px; }
  .sz-nw-head { padding: 14px 16px; }
  .sz-nw-article { padding: 20px 18px; }
  .sz-nw-article-title { font-size: 1.3rem; }
}

/* ===== 全屏登录/注册：左（星链动态）右（表单）结构 ===== */
.sz-auth-body { background: #fff; }
.sz-auth { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); min-height: 100vh; }

/* ---- 左栏：星链动态背景 + 文案 ---- */
.sz-auth-left { position: relative; overflow: hidden; color: #fff; display: flex; flex-direction: column;
                background: linear-gradient(140deg, #065f46 0%, #047857 38%, #0b3b30 72%, #0f172a 100%); }
.sz-auth-svg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .9; }
.sz-st-links { stroke-linecap: round; }
.sz-st-link { stroke: rgba(167,243,208,.42); stroke-width: 1; stroke-dasharray: 7 11;
              animation: szStFlow 9s linear infinite; }
@keyframes szStFlow { to { stroke-dashoffset: -180; } }
.sz-st-node { fill: #ffffff; animation: szStTwinkle 3.6s ease-in-out infinite; }
.sz-st-core { fill: #a7f3d0; }
@keyframes szStTwinkle {
  0%, 100% { opacity: .35; }
  50%      { opacity: 1; }
}
.sz-st-orbit { transform-origin: 400px 450px; animation: szStSpin 64s linear infinite; }
@keyframes szStSpin { to { transform: rotate(360deg); } }
.sz-st-ring { fill: none; stroke: rgba(167,243,208,.16); stroke-width: 1; stroke-dasharray: 3 12; }
.sz-st-ring.d2 { stroke: rgba(251,191,36,.14); stroke-dasharray: 2 16; }

.sz-auth-left-inner { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column;
                      padding: 40px 52px 34px; }
.sz-auth-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: #fff; }
.sz-auth-brand-icon { width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center;
                      justify-content: center; background: rgba(255,255,255,.14);
                      border: 1px solid rgba(255,255,255,.22); }
.sz-auth-brand-txt { font-size: 1.02rem; font-weight: 800; letter-spacing: .02em; }

.sz-auth-left-body { margin: auto 0; padding: 40px 0; max-width: 560px; }
.sz-auth-tagline { display: inline-flex; align-items: center; gap: 7px; font-size: .78rem; font-weight: 700;
                   letter-spacing: .07em; padding: 6px 14px; border-radius: 99px; margin-bottom: 18px;
                   background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); }
.sz-auth-title { font-size: clamp(1.6rem, 2.6vw, 2.35rem); font-weight: 800; line-height: 1.28; margin-bottom: 14px; }
.sz-auth-desc { font-size: .95rem; line-height: 1.9; color: rgba(255,255,255,.82); }
.sz-auth-points { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.sz-auth-points li { display: flex; align-items: center; gap: 12px; font-size: .9rem; color: rgba(255,255,255,.92); }
.sz-auth-point-ico { width: 32px; height: 32px; flex: none; border-radius: 9px; display: flex;
                     align-items: center; justify-content: center; font-size: .82rem; color: #6ee7b7;
                     background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); }
.sz-auth-left-foot { font-size: .78rem; color: rgba(255,255,255,.45); }

/* ---- 右栏：表单 ---- */
.sz-auth-right { display: flex; align-items: center; justify-content: center;
                 padding: 44px 28px; background: var(--gray-50); }
.sz-auth-box { width: 100%; max-width: 420px; background: #fff; border: 1px solid var(--gray-100);
               border-radius: 14px; padding: 32px 30px; box-shadow: 0 18px 46px rgba(15,23,42,.07); }
.sz-auth-head { margin-bottom: 22px; }
.sz-auth-head h1 { font-size: 1.45rem; font-weight: 800; color: var(--gray-900); }
.sz-auth-head p { margin-top: 6px; font-size: .88rem; color: var(--gray-500); }
.sz-auth-box .sz-alert { margin-bottom: 16px; }
.sz-auth-box .sz-btn-full { margin-top: 4px; }
.sz-auth-foot { text-align: center; margin-top: 20px; font-size: .875rem; color: var(--gray-500); }
.sz-auth-foot a { color: var(--emerald-600); font-weight: 600; }
.sz-auth-back { display: block; text-align: center; margin-top: 14px; font-size: .82rem; color: var(--gray-400); }
.sz-auth-back:hover { color: var(--emerald-600); }
.sz-auth-ico-input { position: relative; }
.sz-auth-ico-input > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--gray-400); }
.sz-auth-ico-input .sz-input { padding-left: 40px; }

@media (max-width: 920px) {
  .sz-auth { grid-template-columns: minmax(0, 1fr); }
  .sz-auth-left { min-height: 260px; }
  .sz-auth-left-inner { padding: 26px 24px 22px; }
  .sz-auth-left-body { padding: 22px 0 8px; }
  .sz-auth-points { display: none; }
  .sz-auth-desc { display: none; }
  .sz-auth-left-foot { display: none; }
  .sz-auth-right { padding: 28px 18px 52px; }
  .sz-auth-box { padding: 26px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .sz-auth-svg * { animation: none !important; }
  .sz-st-node { opacity: .8; }
}

/* ===== 后台内容编辑：TAB 切换 + 简易富文本编辑器 ===== */
.sz-adm-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--gray-200); margin: -4px 0 22px; }
.sz-adm-tab { position: relative; display: inline-flex; align-items: center; gap: 7px; padding: 11px 18px;
              border: none; background: none; cursor: pointer; font-family: inherit;
              font-size: .92rem; font-weight: 600; color: var(--gray-500); }
.sz-adm-tab i { font-size: .82rem; }
.sz-adm-tab:hover { color: var(--emerald-600); }
.sz-adm-tab.on { color: var(--emerald-600); }
.sz-adm-tab.on::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 2.5px;
                        border-radius: 1px 1px 0 0;
                        background: linear-gradient(90deg, var(--emerald-500), var(--emerald-400)); }
.sz-adm-panel[hidden] { display: none; }
.sz-adm-actions { display: flex; align-items: center; gap: 12px; margin-top: 6px; padding-top: 18px;
                  border-top: 1px solid var(--gray-100); }
.sz-adm-count { margin-left: auto; font-size: .78rem; color: var(--gray-400); }
.sz-adm-hint { font-size: .75rem; color: var(--gray-500); margin: 8px 0 0; line-height: 1.7; }
.sz-adm-editor .cm-editor-area { min-height: 420px; max-height: none; }
.sz-adm-editor .cm-img-loading { display: inline-block; padding: 6px 12px; border-radius: 6px;
                                 background: var(--gray-100); color: var(--gray-500); font-size: .85rem; }
/* AI 一键生成按钮 / 行 */
.sz-adm-ai-row { display: flex; gap: 10px; align-items: center; }
.sz-adm-ai-row .sz-input { flex: 1; min-width: 0; }
.sz-adm-ai-btn { flex: none; white-space: nowrap; border: none; color: #fff;
                 background: linear-gradient(135deg, #7c3aed, #4f46e5);
                 box-shadow: 0 4px 14px rgba(99,102,241,.28); }
.sz-adm-ai-btn:hover { filter: brightness(1.06); }
.sz-adm-ai-btn:disabled { opacity: .7; cursor: not-allowed; }
/* SEO 面板头 */
.sz-adm-seo-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
                   flex-wrap: wrap; padding: 14px 16px; margin-bottom: 20px; border-radius: 8px;
                   background: linear-gradient(135deg, #f5f3ff, #eef2ff); border: 1px solid #ddd6fe; }
.sz-adm-seo-title { font-size: .92rem; font-weight: 800; color: #4338ca; }
.sz-adm-seo-title i { margin-right: 6px; }
.sz-adm-len { float: right; font-size: .72rem; font-weight: 400; color: var(--gray-400); }

/* 未登录引导卡 */
.sz-cm-logincard { padding: 18px; }
.sz-cm-login-title { font-size: 1rem; font-weight: 800; color: var(--gray-900); margin-bottom: 6px; }
.sz-cm-login-desc { font-size: .8rem; color: var(--gray-500); line-height: 1.6; margin: 0 0 14px; }
.sz-cm-login-btn { display: flex; align-items: center; justify-content: center; height: 42px; border-radius: 4px;
                   text-decoration: none; color: #fff; font-size: .92rem; font-weight: 700;
                   background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600)); }
.sz-cm-login-btn:hover { filter: brightness(1.06); }

/* 热门帖子 */
.sz-cm-hotpost { display: flex; gap: 10px; padding: 9px 0; text-decoration: none;
                 border-bottom: 1px solid var(--gray-50); }
.sz-cm-hotpost:last-child { border-bottom: none; }
.sz-cm-hotpost-no { flex: 0 0 18px; height: 18px; margin-top: 2px; border-radius: 2px;
                    background: var(--gray-100); color: var(--gray-500); font-size: .7rem; font-weight: 700;
                    display: flex; align-items: center; justify-content: center; }
.sz-cm-hotpost-no.top { background: #fef3c7; color: var(--gold-600); }
.sz-cm-hotpost-body { flex: 1; min-width: 0; }
.sz-cm-hotpost-title { font-size: .82rem; color: var(--gray-700); line-height: 1.5; margin-bottom: 3px;
                       display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sz-cm-hotpost:hover .sz-cm-hotpost-title { color: var(--emerald-600); }
.sz-cm-hotpost-meta { display: block; font-size: .72rem; color: var(--gray-400); font-style: italic; }

/* 参与入口 CTA（中栏通栏横幅 与 右栏卡片 共用一套样式） */
.sz-cm-cta-mini { position: relative; display: block; padding: 18px 20px; border-radius: 6px;
                  text-decoration: none; color: #fff; overflow: hidden;
                  background: linear-gradient(120deg, var(--emerald-700), var(--emerald-500) 58%, var(--gold-500)); }
.sz-cm-cta-mini::after { content: ''; position: absolute; right: -34px; top: -46px; width: 132px; height: 132px;
                         border-radius: 50%; background: rgba(255,255,255,.14); pointer-events: none; }
.sz-cm-cta-mini-title { position: relative; z-index: 1; display: block; font-size: 1rem; font-weight: 800; margin-bottom: 6px; }
.sz-cm-cta-mini-desc { position: relative; z-index: 1; display: block; font-size: .8rem; line-height: 1.6; color: rgba(255,255,255,.92); }
.sz-cm-cta-mini:hover { filter: brightness(1.05); }
/* 放到中栏时是通栏横幅，留白与字号加大 */
.sz-cm-cta-banner { padding: 26px 32px; }
.sz-cm-cta-banner::after { right: -50px; top: -70px; width: 210px; height: 210px; }
.sz-cm-cta-banner .sz-cm-cta-mini-title { font-size: 1.15rem; }
.sz-cm-cta-banner .sz-cm-cta-mini-desc { font-size: .85rem; max-width: 560px; }

/* 友情链接 */
.sz-cm-links { display: flex; flex-wrap: wrap; gap: 8px; }
.sz-cm-links a { padding: 5px 12px; border-radius: 99px; background: var(--gray-100); color: var(--gray-600);
                 font-size: .78rem; text-decoration: none; transition: background .18s, color .18s; }
.sz-cm-links a:hover { background: var(--emerald-500); color: #fff; }
.sz-cm-links-empty { font-size: .78rem; color: var(--gray-400); line-height: 1.7; }

/* 社区统计 */
.sz-cm-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 10px; }
.sz-cm-stats > div { display: flex; flex-direction: column; gap: 4px; }
.sz-cm-stats b { font-size: 1.25rem; font-weight: 800; color: var(--gray-900); line-height: 1; }
.sz-cm-stats span { font-size: .75rem; color: var(--gray-400); }
.sz-cm-stats .hi b { display: inline-flex; align-items: center; gap: 6px; color: var(--emerald-600); }
.sz-cm-stats .hi b i { width: 6px; height: 6px; border-radius: 50%; background: var(--emerald-500); }

/* 社区活动：无卡片，平铺（左栏内为纵向布局，见 .sz-cm-side .sz-cm-activity） */
.sz-cm-activity { display: flex; align-items: center; gap: 12px; }
.sz-cm-activity-body { flex: 1; min-width: 0; }
.sz-cm-activity-title { font-size: .85rem; font-weight: 700; color: var(--gray-800); margin-bottom: 4px; }
.sz-cm-activity-desc { font-size: .75rem; color: var(--gray-500); line-height: 1.5; }

/* ---- 响应式 ---- */
@media (max-width: 1280px) {
  .sz-cm-wrap { grid-template-columns: 208px minmax(0, 1fr) 272px; gap: 20px; padding: 20px 20px 56px; }
}
@media (max-width: 1080px) {
  .sz-cm-wrap { grid-template-columns: 200px minmax(0, 1fr); }
  /* 右栏模块较多，改为自动换行的多列排布 */
  .sz-cm-right { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
  .sz-cm-right > .sz-community-widget,
  .sz-cm-right > .sz-cm-ucard,
  .sz-cm-right > .sz-cm-acard { flex: 1 1 240px; }
}
@media (max-width: 860px) {
  .sz-cm-wrap { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 16px 16px 48px; }
  .sz-cm-main { order: 1; }
  .sz-cm-side { order: 2; position: static; max-height: none; }
  .sz-cm-side-scroll { overflow: visible; padding-right: 0; }
  .sz-cm-right { order: 3; flex-direction: column; }
  .sz-cm-cta { flex-direction: column; align-items: stretch; gap: 18px; padding: 24px; }
  .sz-cm-cta-btn { text-align: center; }
  .sz-cm-tabsbar-meta { display: none; }
}

/* ===== 社区发帖弹窗 + 简易富文本编辑器 ===== */
.cm-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center;
            justify-content: center; padding: 24px; }
.cm-modal[hidden] { display: none; }
.cm-modal-mask { position: absolute; inset: 0; background: rgba(17,24,39,.55); }
.cm-modal-box { position: relative; background: #fff; border-radius: 14px; width: min(860px, 100%);
                max-height: 92vh; display: flex; flex-direction: column; overflow: hidden;
                box-shadow: 0 24px 60px rgba(0,0,0,.28); }
.cm-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px;
                 border-bottom: 1px solid var(--gray-100); }
.cm-modal-head strong { font-size: 1rem; }
.cm-modal-x { border: none; background: transparent; font-size: 1.6rem; line-height: 1; color: var(--gray-400);
              cursor: pointer; padding: 0 4px; font-family: inherit; }
.cm-modal-x:hover { color: var(--gray-700); }
.cm-modal-box form { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.cm-modal-body { padding: 22px; overflow-y: auto; flex: 1; }
.cm-modal-foot { display: flex; gap: 12px; align-items: center; padding: 14px 22px;
                 border-top: 1px solid var(--gray-100); background: var(--gray-50); }
.cm-modal-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cm-modal-row.cm-modal-row-cat-title { grid-template-columns: 130px 1fr; }
.cm-modal-row.cm-modal-row-cat-title .cm-cat-group { min-width: 0; }
.cm-modal-row.cm-modal-row-cat-title .cm-cat-group .sz-select { width: 100%; }
.cm-modal-row.cm-modal-row-cat-title .cm-title-group { min-width: 0; }
.cm-modal-err { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; padding: 10px 14px;
                border-radius: 6px; background: #fef2f2; color: #b91c1c; font-size: .85rem; }
.cm-modal-tip { display: flex; align-items: center; gap: 6px; margin-bottom: 16px; padding: 9px 14px;
                border-radius: 6px; background: #ecfdf5; color: #065f46; font-size: .82rem; }
.cm-modal-tip a { color: #047857; font-weight: 700; }
.cm-hint { font-size: .74rem; color: var(--gray-400); margin-top: 6px; line-height: 1.6; }
.cm-hint b { color: var(--gray-600); }
.sz-label em { color: #dc2626; font-style: normal; }

/* 编辑器 */
.cm-editor { border: 1px solid var(--gray-200); border-radius: 8px; overflow: hidden; background: #fff; }
.cm-editor-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; padding: 6px 8px;
                 border-bottom: 1px solid var(--gray-100); background: var(--gray-50); }
.cm-editor-bar button { min-width: 30px; height: 30px; padding: 0 6px; border: none; border-radius: 5px;
                        background: transparent; color: var(--gray-600); font-family: inherit;
                        font-size: .78rem; font-weight: 700; cursor: pointer;
                        transition: background .15s, color .15s; }
.cm-editor-bar button:hover { background: #fff; color: #059669; }
.cm-editor-bar button.on { background: #d1fae5; color: #047857; }
.cm-editor-sep { width: 1px; height: 18px; margin: 0 4px; background: var(--gray-200); }
.cm-editor-area { min-height: 180px; max-height: 46vh; overflow-y: auto; padding: 14px 16px; outline: none;
                  font-size: .95rem; line-height: 1.8; color: var(--gray-800); }
.cm-editor-area.is-empty::before { content: attr(data-ph); color: var(--gray-400);
                                   white-space: pre-line; pointer-events: none; }

/* 编辑器内 / 前台正文排版（帖子里粘进来的富文本要能正常看） */
.sz-post-content, .sz-reply-content { word-break: break-word; }
.cm-editor-area p, .sz-post-content p, .sz-reply-content p { margin: 0 0 .6em; }
.cm-editor-area h1, .cm-editor-area h2, .sz-post-content h1, .sz-post-content h2, .sz-reply-content h1, .sz-reply-content h2 { font-size: 1.15rem; font-weight: 800; margin: 1em 0 .5em; }
.cm-editor-area h3, .cm-editor-area h4, .sz-post-content h3, .sz-post-content h4, .sz-reply-content h3, .sz-reply-content h4 { font-size: 1rem; font-weight: 700; margin: 1em 0 .5em; }
.cm-editor-area blockquote, .sz-post-content blockquote, .sz-reply-content blockquote { margin: .8em 0; padding: 8px 14px; border-left: 3px solid #6ee7b7; background: var(--gray-50); color: var(--gray-600); }
.cm-editor-area pre, .sz-post-content pre, .sz-reply-content pre { margin: .8em 0; padding: 12px 14px; border-radius: 6px; background: #0f172a; color: #e2e8f0; font-family: ui-monospace, Consolas, monospace; font-size: .82rem; line-height: 1.7; overflow-x: auto; white-space: pre-wrap; }
.cm-editor-area code, .sz-post-content code, .sz-reply-content code { font-family: ui-monospace, Consolas, monospace; font-size: .85em; background: var(--gray-100); padding: 1px 5px; border-radius: 4px; }
.cm-editor-area pre code, .sz-post-content pre code, .sz-reply-content pre code { background: transparent; padding: 0; color: inherit; }
.cm-editor-area ul, .sz-post-content ul, .sz-reply-content ul { margin: .6em 0; padding-left: 22px; list-style: disc; }
.cm-editor-area ol, .sz-post-content ol, .sz-reply-content ol { margin: .6em 0; padding-left: 22px; list-style: decimal; }
.cm-editor-area li, .sz-post-content li, .sz-reply-content li { margin: .25em 0; }
.cm-editor-area hr, .sz-post-content hr, .sz-reply-content hr { margin: 1.2em 0; border: none; border-top: 1px solid var(--gray-200); }
.cm-editor-area a, .sz-post-content a, .sz-reply-content a { color: #059669; text-decoration: underline; }
.cm-editor-area img, .sz-post-content img { max-width: 100%; height: auto; border-radius: 6px; }
.sz-post-content table, .sz-reply-content table { width: 100%; border-collapse: collapse; margin: .8em 0; font-size: .88rem; }
.sz-post-content th, .sz-post-content td, .sz-reply-content th, .sz-reply-content td { border: 1px solid var(--gray-200); padding: 7px 10px; }
.sz-post-content th, .sz-reply-content th { background: var(--gray-50); font-weight: 700; }

@media (max-width: 720px) {
  .cm-modal { padding: 0; align-items: flex-end; }
  .cm-modal-box { border-radius: 14px 14px 0 0; max-height: 94vh; }
  .cm-modal-row,
  .cm-modal-row.cm-modal-row-cat-title { grid-template-columns: 1fr; }
  .cm-editor-area { min-height: 170px; max-height: 40vh; }
  .cm-modal-body { padding: 16px; }
  .cm-modal-foot { padding: 12px 16px; }
}

/* ===== 社区帖子内页（与首页同一套三栏） ===== */
.sz-th-post { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px;
              padding: 24px 26px; margin-bottom: 18px; }
.sz-th-title { display: flex; align-items: center; gap: 8px; font-size: 1.35rem; font-weight: 800;
               color: var(--gray-900); line-height: 1.45; margin: 0 0 16px; }
.sz-th-flag { flex-shrink: 0; font-size: .7rem; font-weight: 700; color: #fff; background: #ef4444;
              padding: 2px 7px; border-radius: 4px; }
.sz-th-author { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; margin-bottom: 18px;
                border-bottom: 1px solid var(--gray-100); }
.sz-th-avatar { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%; overflow: hidden;
                display: flex; align-items: center; justify-content: center; color: #fff;
                font-weight: 700; font-size: .95rem;
                background: linear-gradient(135deg, var(--emerald-400), var(--emerald-600)); }
.sz-th-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sz-th-avatar-sm { width: 34px; height: 34px; font-size: .85rem; }
.sz-th-author-info { flex: 1; min-width: 0; }
.sz-th-author-name { display: flex; align-items: center; gap: 6px; font-size: .92rem; font-weight: 700; color: var(--gray-900); }
.sz-th-author-sub { font-size: .75rem; color: var(--gray-400); margin-top: 2px; }
.sz-th-stats { display: flex; gap: 14px; flex-shrink: 0; font-size: .78rem; color: var(--gray-400); }

.sz-th-replies { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px;
                 overflow: hidden; margin-bottom: 18px; }
.sz-th-replies-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 22px;
                      border-bottom: 1px solid var(--gray-100); font-size: .92rem; font-weight: 700; color: var(--gray-800); }
.sz-th-replies-sub { font-size: .74rem; font-weight: 400; color: var(--gray-400); }
.sz-th-empty { padding: 44px 0; text-align: center; color: var(--gray-400); font-size: .88rem; }
.sz-th-empty i { display: block; font-size: 1.8rem; margin-bottom: 10px; opacity: .45; }
.sz-th-reply { display: flex; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--gray-50); }
.sz-th-reply:last-of-type { border-bottom: none; }
.sz-th-reply-body { flex: 1; min-width: 0; }
.sz-th-reply-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.sz-th-reply-name { font-size: .88rem; font-weight: 700; color: var(--gray-800); }
.sz-th-reply-time { margin-left: auto; font-size: .74rem; color: var(--gray-400); }
.sz-th-best { font-size: .7rem; font-weight: 700; color: #b45309; background: #fef3c7;
              padding: 2px 8px; border-radius: 99px; }
.sz-th-children { margin-top: 12px; padding: 10px 14px; border-radius: 6px; background: var(--gray-50);
                  border-left: 3px solid #6ee7b7; font-size: .84rem; color: var(--gray-600); }
.sz-th-child { margin: 4px 0; line-height: 1.7; }
.sz-th-child-name { color: var(--emerald-700); font-weight: 700; }
.sz-th-replybtn { margin-top: 10px; padding: 0; border: none; background: transparent; cursor: pointer;
                  font-family: inherit; font-size: .78rem; color: var(--gray-400); }
.sz-th-replybtn:hover { color: var(--emerald-600); }

.sz-th-form { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px; padding: 20px 22px; }
.sz-th-form-head { display: flex; align-items: center; gap: 8px; margin-bottom: 14px;
                   font-size: .95rem; font-weight: 700; color: var(--gray-800); }
.sz-th-form-foot { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.sz-th-form-tip { font-size: .74rem; color: var(--gray-400); }

/* ===== 社区专属表情：自绘 SVG + CSS 动效 ===== */
.cmj { width: 1.35em; height: 1.35em; vertical-align: -.3em; display: inline-block; transform-origin: center; }
/* SVG 子元素的 transform 默认以用户坐标原点为中心，必须换成自身包围盒，否则动效会飞出去 */
.cmj * { transform-box: fill-box; transform-origin: center; }

.cmj-picker { position: relative; display: inline-block; }
.cmj-trigger { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px;
               border: 1px solid var(--gray-200); border-radius: 4px; background: #fff; cursor: pointer;
               font-family: inherit; font-size: .84rem; color: var(--gray-600); transition: var(--transition); }
.cmj-trigger:hover { color: var(--emerald-600); border-color: var(--emerald-400); background: var(--emerald-50); }
.cmj-panel { position: absolute; left: 0; bottom: calc(100% + 8px); z-index: 60;
             padding: 10px; background: #fff;
             border: 1px solid var(--gray-100); border-radius: 10px; box-shadow: 0 16px 40px rgba(15,23,42,.16); }
.cmj-panel[hidden] { display: none; }
/* 18 个表情固定排成 9 列 × 2 行：面板宽度由列宽算出来（9×34 + 8×4 间距 + 20 内边距 + 2 边框 ≈ 360）。
   这里绝对不写 max-height / overflow-y —— 只要一个方向的 overflow 不是 visible，
   另一个方向就会被算成 auto，于是底部会冒出一条横向滚动条，正是之前那个毛病。 */
.cmj-grid { display: grid; grid-template-columns: repeat(9, 34px); gap: 4px; overflow: visible; }
.cmj-item { display: flex; align-items: center; justify-content: center; height: 34px;
            border: none; border-radius: 6px; background: transparent; cursor: pointer;
            transition: background .15s, transform .15s; }
.cmj-item:hover { background: var(--emerald-50); transform: scale(1.12); }
.cmj-item .cmj { width: 24px; height: 24px; vertical-align: middle; }

@keyframes cmjNod    { 0%,100% { transform: rotate(0) } 30% { transform: rotate(-7deg) } 60% { transform: rotate(5deg) } }
@keyframes cmjBounce { 0%,100% { transform: translateY(0) } 40% { transform: translateY(-14%) } }
@keyframes cmjWobble { 0%,100% { transform: rotate(-5deg) } 50% { transform: rotate(5deg) } }
@keyframes cmjPulse  { 0%,100% { transform: scale(1) } 50% { transform: scale(1.08) } }
@keyframes cmjShake  { 0%,100% { transform: translateX(0) } 25% { transform: translateX(-8%) } 75% { transform: translateX(8%) } }
@keyframes cmjBeat   { 0%,100% { transform: scale(1) } 22% { transform: scale(1.16) } 40% { transform: scale(1) } }
@keyframes cmjPop    { 0%,100% { transform: scale(1) } 45% { transform: scale(1.14) } }
@keyframes cmjFloat  { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-12%) } }
@keyframes cmjBlink  { 0%,86%,100% { transform: scaleY(1) } 93% { transform: scaleY(.12) } }
@keyframes cmjDrip   { 0% { transform: translateY(-16%); opacity: 0 } 30% { opacity: 1 } 100% { transform: translateY(28%); opacity: 0 } }
@keyframes cmjDrop   { 0% { transform: translate(0,0); opacity: 0 } 20% { opacity: 1 } 100% { transform: translate(2px,7px); opacity: 0 } }
@keyframes cmjShine  { 0%,100% { transform: translateX(0); opacity: .3 } 50% { transform: translateX(3px); opacity: 1 } }
@keyframes cmjRise   { 0% { transform: translate(0,2px); opacity: 0 } 40% { opacity: 1 } 100% { transform: translate(4px,-5px); opacity: 0 } }
@keyframes cmjFlame  { 0%,100% { transform: scaleY(1) } 50% { transform: scaleY(1.22) } }
@keyframes cmjSpark  { 0%,100% { transform: scale(.7); opacity: .4 } 50% { transform: scale(1.25); opacity: 1 } }
@keyframes cmjBlush  { 0%,100% { opacity: .35 } 50% { opacity: .85 } }

.cmj-smile    { animation: cmjNod 2.6s ease-in-out infinite; }
.cmj-grin     { animation: cmjBounce 1.8s ease-in-out infinite; }
.cmj-laugh    { animation: cmjWobble 1.4s ease-in-out infinite; }
.cmj-wink     { animation: cmjNod 2.2s ease-in-out infinite; }
.cmj-wink-eye { animation: cmjBlink 3s ease-in-out infinite; }
.cmj-cool     { animation: cmjNod 3s ease-in-out infinite; }
.cmj-shine    { animation: cmjShine 2.4s ease-in-out infinite; }
.cmj-shy      { animation: cmjPulse 2.2s ease-in-out infinite; }
.cmj-blush    { animation: cmjBlush 2.2s ease-in-out infinite; }
.cmj-love     { animation: cmjBeat 1.6s ease-in-out infinite; }
.cmj-heart    { animation: cmjBeat 1.6s ease-in-out infinite; }
.cmj-cry      { animation: cmjNod 3.2s ease-in-out infinite; }
.cmj-tear-a   { animation: cmjDrip 1.8s linear infinite; }
.cmj-tear-b   { animation: cmjDrip 1.8s linear infinite .9s; }
.cmj-sweat    { animation: cmjNod 2.4s ease-in-out infinite; }
.cmj-drop     { animation: cmjDrop 2s ease-in infinite; }
.cmj-angry    { animation: cmjShake .5s ease-in-out infinite; }
.cmj-shock    { animation: cmjPop 1.5s ease-in-out infinite; }
.cmj-ask      { animation: cmjNod 2.4s ease-in-out infinite; }
.cmj-think    { animation: cmjNod 3s ease-in-out infinite; }
.cmj-dot      { animation: cmjRise 1.6s ease-in-out infinite; }
.cmj-dot2     { animation: cmjRise 1.6s ease-in-out infinite .5s; }
.cmj-sleep    { animation: cmjPulse 3s ease-in-out infinite; }
.cmj-z1       { animation: cmjRise 2.4s ease-in-out infinite; }
.cmj-z2       { animation: cmjRise 2.4s ease-in-out infinite .8s; }
.cmj-thumb    { animation: cmjNod 2s ease-in-out infinite; }
.cmj-cheer    { animation: cmjBounce 1.4s ease-in-out infinite; }
.cmj-spark    { animation: cmjSpark 1.8s ease-in-out infinite; }
.cmj-fire     { animation: cmjFloat 1.6s ease-in-out infinite; }
.cmj-flame    { animation: cmjFlame 1s ease-in-out infinite; }
.cmj-crown    { animation: cmjFloat 2.6s ease-in-out infinite; }

/* 尊重系统的「减少动态效果」设置 */
@media (prefers-reduced-motion: reduce) {
  .cmj, .cmj * { animation: none !important; }
}

/* 帖子头部右侧「回复」按钮 */
.sz-th-toreply { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; height: 34px;
                 padding: 0 16px; border: 1px solid var(--emerald-500); border-radius: 99px;
                 background: #fff; cursor: pointer; font-family: inherit; font-size: .82rem;
                 font-weight: 600; color: var(--emerald-600); transition: var(--transition); }
.sz-th-toreply:hover { background: var(--emerald-500); color: #fff; }
.sz-th-edit { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; height: 34px;
              padding: 0 14px; border: 1px solid var(--gray-300); border-radius: 99px;
              background: #fff; cursor: pointer; font-family: inherit; font-size: .82rem;
              font-weight: 600; color: var(--gray-600); transition: var(--transition); }
.sz-th-edit:hover { background: var(--gray-100); color: var(--gray-800); }
.sz-th-edit-note { margin-top: 14px; font-size: .8rem; color: var(--gray-400); }
.sz-th-edit-note i { margin-right: 4px; }

/* 帖子底部互动栏：点赞 / 收藏 / 分享 + 右侧标签 */
.sz-th-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
                 margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--gray-100); }
.sz-th-acts { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.sz-th-act { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px;
             border: 1px solid var(--gray-200); border-radius: 99px; background: #fff; cursor: pointer;
             font-family: inherit; font-size: .8rem; color: var(--gray-500); transition: var(--transition); }
.sz-th-act i { font-size: .85rem; }
.sz-th-act:hover { border-color: var(--emerald-400); color: var(--emerald-600); background: var(--emerald-50); }
.sz-th-act.on { border-color: var(--emerald-500); background: var(--emerald-50);
                color: var(--emerald-700); font-weight: 600; }
.sz-th-act:disabled { opacity: .55; cursor: default; }
.sz-th-act-num { font-weight: 700; color: var(--gray-600); }
.sz-th-act.on .sz-th-act-num { color: var(--emerald-700); }

/* 帖子末尾：作者简介（作者填写了简介时展示在横线下方） */
.sz-th-author-bio { margin-top: 22px; padding: 14px 16px;
                   background: var(--gray-50); border: 1px solid var(--gray-100);
                   border-radius: 10px; }
.sz-th-author-bio-head { display: flex; align-items: center; gap: 8px; font-size: .85rem;
                        font-weight: 700; color: var(--gray-500); margin-bottom: 10px; }
.sz-th-author-bio-head i { color: var(--emerald-500); }
.sz-th-author-bio-body { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.sz-th-author-name { display: inline-flex; align-items: center; font-weight: 700; font-size: .95rem; color: var(--gray-800); }
.sz-th-author-meta { font-size: .82rem; color: var(--gray-500); }
.sz-th-author-meta i { margin-right: 4px; color: var(--emerald-500); }
.sz-th-author-bio-text { margin: 10px 0 0; font-size: .9rem; line-height: 1.7; color: var(--gray-700); white-space: pre-line; }
.sz-th-vip { display: inline-flex; align-items: center; gap: 3px; margin-left: 6px;
             padding: 1px 8px; border-radius: 99px; background: #fef3c7; color: #b45309;
             font-size: .72rem; font-weight: 700; }
.sz-th-vip i { font-size: .68rem; }

.sz-th-tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
.sz-th-tag { padding: 4px 11px; border-radius: 99px; background: var(--gray-100); color: var(--gray-600);
             font-size: .76rem; text-decoration: none; transition: background .18s, color .18s; }
.sz-th-tag:hover { background: var(--emerald-500); color: #fff; }

/* 回复框下方的本版块推荐 */
.sz-th-related { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px;
                 overflow: hidden; margin-top: 18px; }
.sz-th-rel-tabs { display: flex; gap: 2px; padding: 12px 20px 0; border-bottom: 1px solid var(--gray-100); }
.sz-th-rel-tab { border: none; background: transparent; cursor: pointer; font-family: inherit;
                 padding: 8px 14px; font-size: .86rem; font-weight: 600; color: var(--gray-500);
                 border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .18s; }
.sz-th-rel-tab i { margin-right: 5px; font-size: .8rem; }
.sz-th-rel-tab:hover { color: var(--emerald-600); }
.sz-th-rel-tab.active { color: var(--emerald-700); border-bottom-color: var(--emerald-500); }
.sz-th-rel-pane { display: none; }
.sz-th-rel-pane.active { display: block; }
.sz-th-rel-empty { padding: 36px 0; text-align: center; color: var(--gray-400); font-size: .85rem; }
.sz-th-rel-item { display: block; padding: 14px 20px; border-bottom: 1px solid var(--gray-50); text-decoration: none; }
.sz-th-rel-item:last-child { border-bottom: none; }
.sz-th-rel-item:hover { background: var(--gray-50); }
.sz-th-rel-title { font-size: .9rem; font-weight: 600; color: var(--gray-800); line-height: 1.5; margin-bottom: 5px;
                   overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sz-th-rel-item:hover .sz-th-rel-title { color: var(--emerald-600); }
.sz-th-rel-ex { font-size: .8rem; color: var(--gray-500); line-height: 1.6; margin-bottom: 7px;
                display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sz-th-rel-meta { display: flex; align-items: center; gap: 14px; font-size: .74rem; color: var(--gray-400); }
.sz-th-rel-date { margin-left: auto; }

/* 轻提示 */
.sz-th-toast { position: fixed; left: 50%; bottom: 40px; z-index: 10000;
               transform: translate(-50%, 12px); padding: 10px 20px; border-radius: 99px;
               background: rgba(17,24,39,.9); color: #fff; font-size: .85rem; opacity: 0;
               transition: opacity .25s, transform .25s; pointer-events: none; }
.sz-th-toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (max-width: 1080px) {
  .sz-th-post, .sz-th-form { padding: 18px; }
  .sz-th-reply { padding: 16px 18px; }
}
@media (max-width: 720px) {
  .sz-th-title { font-size: 1.15rem; }
  .sz-th-post { padding: 16px; }
  .sz-th-reply { padding: 14px 16px; }
  .sz-th-reply-time { margin-left: 0; width: 100%; }
  .sz-th-author { flex-wrap: wrap; }
  .sz-th-toreply { margin-left: auto; }
  .sz-th-tags { margin-left: 0; width: 100%; }
  .sz-th-acts { width: 100%; }
}
/* 窄屏仍保持 9 列 2 行，只把格子缩小，绝不出现滚动条 */
@media (max-width: 520px) {
  .cmj-panel { width: calc(100vw - 28px); }
  .cmj-grid { grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 2px; }
  .cmj-item { height: 32px; }
  .cmj-item .cmj { width: 22px; height: 22px; }
}

/* ===== 公告栏：官方公告最新 3 条无缝滚动 ===== */
.sz-cm-notice-scroll { flex: 1; min-width: 0; height: 20px; overflow: hidden; }
.sz-cm-notice-track { display: flex; flex-direction: column; }
.sz-cm-notice-group { display: flex; flex-direction: column; }
.sz-cm-notice-group a { display: block; height: 20px; line-height: 20px; color: var(--emerald-800);
                        font-size: .85rem; text-decoration: none;
                        overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sz-cm-notice-group a:hover { color: var(--emerald-600); }
/* 鼠标移上去暂停，方便看清 */
.sz-cm-notice-scroll:hover .sz-cm-notice-track { animation-play-state: paused; }
/* 2 条：轨道共 4 条，每次上移 1 条 = 25% */
.sz-cm-notice-scroll.is-loop2 .sz-cm-notice-track { animation: szNotice2 8s ease-in-out infinite; }
/* 3 条：轨道共 6 条，每次上移 1 条 = 16.667% */
.sz-cm-notice-scroll.is-loop3 .sz-cm-notice-track { animation: szNotice3 12s ease-in-out infinite; }
@keyframes szNotice2 {
  0%, 40%  { transform: translateY(0); }
  50%, 90% { transform: translateY(-25%); }
  100%     { transform: translateY(-50%); }
}
@keyframes szNotice3 {
  0%, 26%  { transform: translateY(0); }
  33%, 59% { transform: translateY(-16.6667%); }
  66%, 92% { transform: translateY(-33.3333%); }
  100%     { transform: translateY(-50%); }
}

/* ===== 全屏搜索浮层 ===== */
.cm-search { position: fixed; inset: 0; z-index: 9998; background: #fff; overflow-y: auto; }
.cm-search[hidden] { display: none; }
.cm-search-inner { max-width: 760px; margin: 0 auto; padding: 8vh 24px 60px; }

.cm-search-top { display: flex; align-items: center; gap: 14px; margin-bottom: 36px; }
.cm-search-form { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; height: 58px;
                  padding: 0 8px 0 20px; border: 2px solid var(--gray-200); border-radius: 99px;
                  background: #fff; transition: var(--transition); }
.cm-search-form:focus-within { border-color: var(--emerald-500); box-shadow: 0 0 0 4px rgba(16,185,129,.12); }
.cm-search-form > i { color: var(--gray-400); font-size: 1.05rem; }
.cm-search-form input { flex: 1; min-width: 0; border: none; outline: none; background: transparent;
                        font-family: inherit; font-size: 1.05rem; color: var(--gray-900); }
.cm-search-form button { flex-shrink: 0; display: inline-flex; align-items: center; gap: 7px; height: 44px;
                         padding: 0 22px; border: none; border-radius: 99px; cursor: pointer;
                         background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600));
                         color: #fff; font-family: inherit; font-size: .92rem; font-weight: 700;
                         transition: var(--transition); }
.cm-search-form button:hover { filter: brightness(1.06); }
.cm-search-close { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 16px;
                   border: 1px solid var(--gray-200); border-radius: 99px; background: #fff; cursor: pointer;
                   font-family: inherit; font-size: .8rem; color: var(--gray-500); transition: var(--transition); }
.cm-search-close:hover { color: var(--emerald-600); border-color: var(--emerald-400); }

.cm-search-block { margin-bottom: 32px; }
.cm-search-block-title { display: flex; align-items: center; gap: 8px; margin-bottom: 14px;
                         font-size: .85rem; font-weight: 700; color: var(--gray-500); }
.cm-search-block-title i { color: var(--emerald-500); }
.cm-search-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.cm-search-chip { display: inline-flex; align-items: center; gap: 6px; padding: 9px 18px; border-radius: 99px;
                  background: var(--gray-100); color: var(--gray-700); font-size: .88rem;
                  text-decoration: none; transition: var(--transition); }
.cm-search-chip:hover { background: var(--emerald-500); color: #fff; transform: translateY(-1px); }
.cm-search-chip-ghost { background: #fff; border: 1px solid var(--gray-200); }
.cm-search-chip-ghost i { font-size: .8rem; color: var(--gray-400); transition: color .18s; }
.cm-search-chip-ghost:hover i { color: #fff; }
.cm-search-tip { font-size: .78rem; color: var(--gray-400); }

@media (max-width: 640px) {
  .cm-search-inner { padding: 5vh 16px 40px; }
  .cm-search-top { flex-direction: column; align-items: stretch; gap: 10px; margin-bottom: 26px; }
  .cm-search-form { height: 50px; padding: 0 6px 0 16px; }
  .cm-search-form input { font-size: .95rem; }
  .cm-search-form button { padding: 0 16px; }
  .cm-search-form button span { display: none; }
  .cm-search-close { justify-content: center; }
}

/* ===== 搜索表单（右栏卡片 & 搜索页共用） ===== */
.sz-cm-searchform { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 6px 0 12px;
                    border: 1px solid var(--gray-200); border-radius: 99px; background: var(--gray-50);
                    transition: var(--transition); }
.sz-cm-searchform:focus-within { border-color: var(--emerald-400); background: #fff; box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.sz-cm-searchform > i { color: var(--gray-400); font-size: .82rem; }
.sz-cm-searchform input { flex: 1; min-width: 0; border: none; background: transparent; outline: none;
                          font-family: inherit; font-size: .84rem; color: var(--gray-800); }
.sz-cm-searchform button { flex-shrink: 0; width: 28px; height: 28px; border: none; border-radius: 50%;
                           background: var(--emerald-500); color: #fff; cursor: pointer; font-size: .75rem;
                           transition: var(--transition); }
.sz-cm-searchform button:hover { background: var(--emerald-600); }
.sz-cm-searchcard-tip { margin-top: 8px; font-size: .72rem; color: var(--gray-400); }
.sz-cm-searchform-lg { height: 44px; background: #fff; }
.sz-cm-searchform-lg input { font-size: .92rem; }
.sz-cm-searchform-lg button { width: 32px; height: 32px; }

/* ===== 搜索结果页 ===== */
.sz-cm-searchhead { background: #fff; border: 1px solid var(--gray-100); border-radius: 6px;
                    padding: 20px 22px; margin-bottom: 18px; }
.sz-cm-searchhead-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
                          font-size: 1.1rem; font-weight: 800; color: var(--gray-900); margin: 0 0 6px; }
.sz-cm-searchhead-title i { color: var(--emerald-500); font-size: .95rem; }
.sz-cm-searchhead-sub { font-size: .8rem; color: var(--gray-500); margin-bottom: 14px; }
.sz-cm-searchhead-sub b { color: var(--emerald-600); }
.sz-cm-searchempty { padding: 52px 20px; text-align: center; color: var(--gray-400); }
.sz-cm-searchempty i { display: block; font-size: 2rem; opacity: .35; margin-bottom: 12px; }
.sz-cm-searchempty p { margin: 0 0 6px; font-size: .9rem; }
.sz-cm-searchempty-sub { font-size: .78rem !important; }

.sz-cm-userhits { display: flex; flex-wrap: wrap; gap: 10px; }
.sz-cm-userhit { display: flex; align-items: center; gap: 10px; flex: 1 1 200px; min-width: 0;
                 padding: 10px 12px; border: 1px solid var(--gray-100); border-radius: 6px;
                 background: var(--gray-50); text-decoration: none; transition: var(--transition); }
.sz-cm-userhit:hover { border-color: var(--emerald-300); background: #fff; }
.sz-cm-userhit-body { flex: 1; min-width: 0; }
.sz-cm-userhit-name { display: flex; align-items: center; gap: 6px; font-size: .86rem; font-weight: 700; color: var(--gray-800); }
.sz-cm-userhit-sub { font-size: .72rem; color: var(--gray-400); margin-top: 2px; }

/* 命中关键词高亮 */
.sz-hl { background: #fef08a; color: #854d0e; padding: 0 2px; border-radius: 2px; }

/* 按作者筛选的提示条 */
.sz-cm-filterhint { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; padding: 10px 16px;
                    border-radius: 6px; background: var(--emerald-50); border: 1px solid #a7f3d0;
                    font-size: .84rem; color: var(--emerald-800); }
.sz-cm-filterhint i { color: var(--emerald-500); }
.sz-cm-filterhint a { margin-left: auto; font-weight: 600; color: var(--emerald-700); text-decoration: none; }
.sz-cm-filterhint a:hover { text-decoration: underline; }

/* 无障碍：系统要求减少动效时，公告改为静态平铺（隐藏副本） */
@media (prefers-reduced-motion: reduce) {
  .sz-cm-notice-scroll { height: auto; }
  .sz-cm-notice-track { animation: none !important; }
  .sz-cm-notice-group.is-dup { display: none; }
}
@media (max-width: 768px) {
  .sz-cm-nav-right [data-cm-search-open] span { display: none; }
}

/* ===== 发帖编辑器：图片上传 / 拖拽 / Toast ===== */
.cm-editor-area.cm-drag-over { background: var(--emerald-50); outline: 2px dashed var(--emerald-400); }
.cm-img-loading { display: inline-block; min-width: 120px; padding: 6px 12px; border-radius: 6px;
                  background: var(--gray-100); color: var(--gray-500); font-size: .85rem; }
#cmImgMarker { display: inline; }
.cm-img-card { margin: 10px 12px 0; padding: 12px; border: 1px dashed var(--emerald-300);
               border-radius: 10px; background: #f6fffa; }
.cm-img-card[hidden] { display: none; }
.cm-img-card-head { display: flex; align-items: center; gap: 8px; font-size: .88rem; font-weight: 700;
                    color: var(--emerald-700); margin-bottom: 10px; }
.cm-img-card-body { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cm-img-card-btn { display: flex; align-items: center; gap: 6px; padding: 8px 14px;
                   border: 1px solid var(--emerald-500); border-radius: 6px;
                   background: #fff; color: var(--emerald-700); font-size: .85rem;
                   font-weight: 600; cursor: pointer; transition: all .15s; }
.cm-img-card-btn:hover { background: var(--emerald-50); }
.cm-img-card-or { font-size: .8rem; color: var(--gray-400); white-space: nowrap; }
.cm-img-url-row { display: flex; flex: 1; min-width: 220px; gap: 8px; }
.cm-img-url-row input { flex: 1; min-width: 0; padding: 8px 10px; border: 1px solid var(--gray-200);
                        border-radius: 6px; font-size: .85rem; }
.cm-img-url-row button { padding: 0 14px; border: none; border-radius: 6px; background: var(--emerald-600);
                         color: #fff; cursor: pointer; font-size: .85rem; }
.cm-img-url-row button:hover { background: var(--emerald-700); }
.cm-img-url-row button:disabled { background: var(--gray-300); cursor: not-allowed; }
.cm-video-card { margin: 10px 12px 0; padding: 12px; border: 1px dashed #93c5fd;
                 border-radius: 10px; background: #f5f9ff; }
.cm-video-card[hidden] { display: none; }
.cm-video-card-head { display: flex; align-items: center; gap: 8px; font-size: .88rem; font-weight: 700;
                      color: #1d4ed8; margin-bottom: 10px; }
.cm-video-card-body { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.cm-video-card-tip { font-size: .8rem; color: var(--gray-400); flex: 1 1 100%; }
.cm-video-card-err { color: #b91c1c; font-size: .8rem; flex: 1 1 100%; min-height: 1em; }
.cm-video-card .cm-img-url-row input { border-color: var(--gray-200); }
.cm-video-card .cm-img-url-row button { background: #2563eb; }
.cm-video-card .cm-img-url-row button:hover { background: #1d4ed8; }

/* ===== Header 铃铛 / 未读气泡 ===== */
.sz-header-bell { position: relative; display: inline-flex; align-items: center; justify-content: center;
                 width: 36px; height: 36px; margin-right: 10px; border-radius: 99px;
                 color: var(--gray-500); transition: all .18s; }
.sz-header-bell i { font-size: 1.05rem; }
.sz-header-bell:hover { color: var(--gold-500); background: var(--gold-50, #fef3c7); }
.sz-header-bell-badge { position: absolute; top: 2px; right: 2px; min-width: 16px; height: 16px;
                       padding: 0 4px; border-radius: 8px; background: #ef4444; color: #fff;
                       font-size: .68rem; font-weight: 700; line-height: 16px; text-align: center;
                       box-shadow: 0 0 0 2px #fff; }

/* ===== 控制台帖子行：编辑/删除操作 ===== */
.sz-post-row { display: flex; align-items: center; gap: 12px; }
.sz-post-row .sz-post-link { flex: 1; min-width: 0; display: block; padding: 10px 12px; border-radius: 8px;
                             text-decoration: none; transition: background .15s; }
.sz-post-row .sz-post-link:hover { background: var(--gray-50); }
.sz-post-link .title { font-size: .9rem; font-weight: 600; color: var(--gray-800); overflow: hidden;
                       text-overflow: ellipsis; white-space: nowrap; }
.sz-post-link .meta { display: flex; align-items: center; gap: 12px; margin-top: 4px; font-size: .75rem;
                      color: var(--gray-400); flex-wrap: wrap; }
.sz-post-link .meta i { font-size: .72rem; }
.sz-post-actions { display: flex; gap: 6px; flex-shrink: 0; }
.sz-post-action { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 12px;
                 border-radius: 8px; border: 1px solid var(--gray-200); background: #fff;
                 color: var(--gray-600); font-size: .8rem; font-weight: 600; cursor: pointer;
                 transition: all .15s; }
.sz-post-action i { font-size: .78rem; }
.sz-post-action-edit:hover { color: var(--emerald-700); border-color: var(--emerald-400); background: var(--emerald-50); }
.sz-post-action-del:hover { color: #ef4444; border-color: #fca5a5; background: #fef2f2; }
.sz-post-action:disabled { opacity: .6; cursor: not-allowed; }
a.sz-post-action { text-decoration: none; }
a.sz-post-action-edit:hover { text-decoration: none; }
.sz-post-pin { color: var(--gold-500); font-size: .72rem; }
.sz-post-lock { color: var(--gray-500); font-size: .72rem; }

/* ===== 控制台内联编辑弹窗 ===== */
.sz-edit-modal { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: center; justify-content: center; padding: 20px; }
.sz-edit-modal[hidden] { display: none; }
.sz-edit-modal-mask { position: absolute; inset: 0; background: rgba(0,0,0,.45); }
.sz-edit-modal-box { position: relative; width: 100%; max-width: 620px; max-height: calc(88vh - 40px);
                    display: flex; flex-direction: column; background: #fff; border-radius: var(--radius-md, 12px);
                    box-shadow: 0 16px 48px rgba(0,0,0,.22); animation: szEditIn .18s ease; overflow: hidden; }
@keyframes szEditIn { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
.sz-edit-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px;
                     border-bottom: 1px solid var(--gray-100); font-size: 1rem; }
.sz-edit-modal-x { border: none; background: none; font-size: 1.5rem; line-height: 1; color: var(--gray-400);
                  cursor: pointer; padding: 4px; border-radius: 6px; }
.sz-edit-modal-x:hover { color: var(--gray-700); background: var(--gray-100); }
.sz-edit-modal-body { padding: 18px 20px; overflow-y: auto; flex: 1; min-height: 0; }
.sz-edit-err { margin-bottom: 12px; padding: 10px 12px; border-radius: 8px; background: #fef2f2;
              color: #b91c1c; font-size: .85rem; border: 1px solid #fecaca; }
.sz-edit-modal-foot { display: flex; gap: 10px; padding: 16px 20px; border-top: 1px solid var(--gray-100); background: var(--gray-50); }

.sz-form-group { margin-bottom: 14px; }
.sz-label { display: block; font-size: .85rem; font-weight: 600; color: var(--gray-700); margin-bottom: 6px; }
.sz-label em { color: #ef4444; font-style: normal; margin-left: 2px; }
.sz-input, .sz-select { width: 100%; height: 42px; padding: 0 12px; border: 1.5px solid var(--gray-200);
                       border-radius: 8px; font-size: .9rem; color: var(--gray-800); background: #fff;
                       transition: border-color .15s; }
.sz-input:focus, .sz-select:focus { outline: none; border-color: var(--emerald-500); box-shadow: 0 0 0 3px rgba(16,185,129,.12); }

/* 编辑器 */
.sz-edit-editor { border: 1.5px solid var(--gray-200); border-radius: 8px; overflow: hidden; margin-bottom: 14px; }
.sz-edit-editor-bar { display: flex; flex-wrap: wrap; gap: 2px; padding: 6px 8px; background: var(--gray-50);
                     border-bottom: 1px solid var(--gray-100); }
.sz-edit-editor-bar button { min-width: 30px; height: 28px; padding: 0 8px; border: none; background: none;
                            border-radius: 6px; color: var(--gray-600); cursor: pointer; font-size: .82rem; font-weight: 600;
                            display: inline-flex; align-items: center; justify-content: center; }
.sz-edit-editor-bar button:hover { background: var(--gray-200); color: var(--gray-900); }
.sz-edit-editor-bar button.on { background: var(--emerald-50); color: var(--emerald-700); }
.sz-edit-sep { width: 1px; height: 18px; background: var(--gray-200); margin: 0 4px; align-self: center; }
.sz-edit-editor-area { min-height: 140px; padding: 12px 14px;
                      font-size: .95rem; line-height: 1.7; color: var(--gray-800); }
.sz-edit-editor-area:focus { outline: none; }
.sz-edit-editor-area.is-empty::before { content: attr(data-ph); color: var(--gray-400); pointer-events: none;
                                       position: absolute; }
.sz-edit-editor-area img { max-width: 100%; border-radius: 6px; }
.sz-edit-editor-area blockquote { margin: 8px 0; padding: 6px 14px; border-left: 3px solid var(--emerald-400);
                                 background: var(--emerald-50); color: var(--gray-700); }
.sz-edit-editor-area pre { background: var(--gray-100); padding: 10px 12px; border-radius: 6px; overflow-x: auto; }

.sz-edit-coin { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.sz-edit-coin-label { font-size: .85rem; color: var(--gray-600); font-weight: 600; }
.sz-edit-coin input { width: 90px; height: 36px; padding: 0 10px; border: 1.5px solid var(--gray-200);
                     border-radius: 8px; font-size: .9rem; }

/* ===== 消息中心 ===== */
.sz-notify-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sz-notify-body { flex: 1; min-width: 0; }
.sz-notify-content { margin-top: 2px; font-size: .8rem; color: var(--gray-500); overflow: hidden;
                    text-overflow: ellipsis; white-space: nowrap; }
.sz-notify-actions { display: flex; gap: 8px; flex-shrink: 0; }
.sz-notify-unread-dot { color: #ef4444; font-weight: 600; }
.sz-notify-form { display: inline-block; margin: 0; }

/* 响应式 */
@media (max-width: 768px) {
  .sz-post-row { flex-wrap: wrap; }
  .sz-post-actions { width: 100%; justify-content: flex-end; }
  .sz-edit-modal { padding: 10px; }
}
.cm-video-embed { width: 100%; max-width: 720px; aspect-ratio: 16 / 9; height: auto; border: 0;
                  border-radius: 10px; margin: 12px 0; display: block; background: #000; }
/* 编辑器内「回复可见」分隔标记 */
.cm-editor-area .cm-reply-lock { border: 1px dashed #f59e0b; border-radius: 6px; padding: 6px 10px; margin: 8px 0; font-size: .8rem; color: #b45309; background: #fffbeb; min-height: 1.4em; }
.cm-editor-area .cm-reply-lock::before { content: '\1F512  以下为「回复后可见」内容'; }
/* 发帖表单：积分可见输入行 */
.cm-coin-row { display: flex; align-items: center; gap: 10px; padding: 10px 0 4px; flex-wrap: wrap; }
.cm-coin-label { font-size: .85rem; font-weight: 600; color: #b45309; display: inline-flex; align-items: center; gap: 5px; }
.cm-coin-row input { width: 90px; padding: 6px 8px; border: 1px solid var(--gray-200); border-radius: 6px; font-size: .85rem; }
.cm-coin-tip { font-size: .8rem; color: var(--gray-400); }
/* 帖子详情：回复可见占位 */
.sz-reply-locked { margin: 12px 0; padding: 14px 16px; border: 1px dashed var(--emerald-300); border-radius: 8px; background: #f6fffa; display: flex; align-items: center; gap: 10px; color: var(--emerald-700); font-size: .9rem; }
.sz-reply-locked button { margin-left: auto; }
/* 帖子详情：积分解锁全文卡片 */
.sz-th-coin-lock { margin: 14px 0; padding: 16px; border: 1px solid #fde68a; border-radius: 10px; background: #fffbeb; display: flex; align-items: center; gap: 14px; }
.sz-th-coin-lock i { font-size: 1.4rem; color: #f59e0b; }
.sz-th-coin-lock-txt { display: flex; flex-direction: column; gap: 2px; font-size: .9rem; }
.sz-th-coin-lock button { margin-left: auto; }
.sz-th-del { color: #ef4444; }
.sz-th-del:hover { background: #fee2e2; }
.cm-toast { position: fixed; top: 20px; left: 50%; transform: translateX(-50%) translateY(-20px);
            z-index: 99999; display: flex; align-items: center; gap: 8px; padding: 10px 18px;
            border-radius: 99px; background: var(--gray-900); color: #fff; font-size: .9rem;
            box-shadow: var(--shadow-md); opacity: 0; pointer-events: none; transition: all .25s; }
.cm-toast.in { opacity: 1; transform: translateX(-50%) translateY(0); }
.cm-toast.error { background: #b91c1c; }
.cm-toast i { font-size: 1rem; }

/* ===== 用户控制台 / 个人中心 ===== */
.sz-user-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin-bottom: 28px; }
.sz-user-stat { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 12px; background: #fff; border-radius: var(--radius-sm); border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm); transition: var(--transition); }
.sz-user-stat:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--emerald-100); }
.sz-user-stat i { font-size: 1.4rem; }
.sz-user-stat .num { font-size: 1.6rem; font-weight: 700; color: var(--gray-900); }
.sz-user-stat .label { font-size: .8rem; color: var(--gray-500); }

.sz-user-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin-bottom: 28px; }
.sz-user-quick-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 16px 10px; background: #fff; border-radius: var(--radius-sm); border: 1px solid var(--gray-100); font-size: .85rem; font-weight: 600; color: var(--gray-700); transition: var(--transition); }
.sz-user-quick-item i { font-size: 1.3rem; color: var(--emerald-500); transition: color .2s; }
.sz-user-quick-item:hover { border-color: var(--emerald-200); background: var(--emerald-50); color: var(--emerald-700); }
.sz-user-quick-item:hover i { color: var(--emerald-600); }

.sz-user-panel { background: #fff; border-radius: var(--radius-sm); padding: 20px; border: 1px solid var(--gray-100); box-shadow: var(--shadow-sm); margin-bottom: 24px; }
.sz-user-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.sz-user-panel-head h3 { font-size: 1rem; font-weight: 700; display: flex; align-items: center; gap: 8px; color: var(--gray-900); }
.sz-user-panel-head a { font-size: .85rem; color: var(--gray-500); }
.sz-user-panel-head a:hover { color: var(--emerald-600); }

.sz-user-list { display: flex; flex-direction: column; gap: 6px; }
.sz-user-list-item { display: block; padding: 12px; border-radius: 8px; transition: background .15s; }
.sz-user-list-item:hover { background: var(--gray-50); }
.sz-user-list-item .title { font-size: .9rem; font-weight: 600; color: var(--gray-800); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sz-user-list-item .meta { display: flex; align-items: center; gap: 12px; margin-top: 4px; font-size: .75rem; color: var(--gray-400); flex-wrap: wrap; }
.sz-user-list-item .meta i { font-size: .72rem; }
.sz-user-list-item.unread { background: #f6fffa; border-left: 3px solid var(--emerald-500); }

.sz-user-empty { text-align: center; padding: 28px 0; font-size: .875rem; color: var(--gray-400); }
.sz-user-empty a { color: var(--emerald-600); text-decoration: underline; }

.sz-text-emerald { color: var(--emerald-600); font-weight: 600; }
.sz-text-red { color: var(--red-500, #ef4444); font-weight: 600; }

/* 头像上传（账户设置页） */
.sz-avatar-upload { display: flex; align-items: flex-start; gap: 18px; padding: 14px 0; flex-wrap: wrap; }
.sz-avatar-preview { width: 88px; height: 88px; border-radius: 50%; overflow: hidden;
                     background: var(--gray-100); display: flex; align-items: center; justify-content: center;
                     border: 2px solid var(--gray-200); flex-shrink: 0; }
.sz-avatar-preview img { width: 100%; height: 100%; object-fit: cover; }
.sz-avatar-preview i { font-size: 2rem; color: var(--gray-400); }
.sz-avatar-actions { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.sz-avatar-note { font-size: .78rem; color: var(--gray-400); max-width: 240px; }

/* 仪表盘主区+侧栏布局 */
.sz-dashboard-layout { display: grid; grid-template-columns: 1fr 260px; gap: 24px; align-items: start; }
.sz-dashboard-main .sz-console-content { max-width: none; }
.sz-dash-sidebar { position: sticky; top: calc(var(--header-h) + 20px); display: flex; flex-direction: column; gap: 16px; }

/* 快捷入口挂件（侧栏内） */
.sz-dash-widget { background: #fff; border: 1px solid var(--gray-100); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); overflow: hidden; }
.sz-dash-widget-title { font-size: .82rem; font-weight: 700; color: var(--gray-400); padding: 12px 14px 10px; border-bottom: 1px solid var(--gray-100); display: flex; align-items: center; gap: 6px; }
.sz-dash-widget-title i { color: var(--emerald-500); font-size: .9rem; }
.sz-dash-widget-list { padding: 8px; display: flex; flex-direction: column; gap: 2px; }
.sz-dash-widget-item { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: var(--radius-sm); font-size: .88rem; font-weight: 500; color: var(--gray-700); transition: background .15s; }
.sz-dash-widget-item i { width: 28px; height: 28px; border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; font-size: .8rem; flex-shrink: 0; background: var(--gray-50); color: var(--gray-500); transition: all .15s; }
.sz-dash-widget-item:hover { background: var(--emerald-50); color: var(--emerald-700); }
.sz-dash-widget-item:hover i { background: var(--emerald-500); color: #fff; }
.sz-dash-widget-item .wi-badge { margin-left: auto; font-size: .72rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; background: var(--emerald-50); color: var(--emerald-600); }

/* 通知挂件 */
.sz-dash-notif { background: #fff; border: 1px solid var(--gray-100); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); overflow: hidden; }
.sz-dash-notif-head { font-size: .82rem; font-weight: 700; color: var(--gray-400); padding: 12px 14px 10px; border-bottom: 1px solid var(--gray-100); display: flex; align-items: center; gap: 6px; }
.sz-dash-notif-head i { color: var(--gold-500, #d97706); font-size: .9rem; }
.sz-dash-notif-head a { margin-left: auto; font-size: .75rem; color: var(--emerald-600); }
.sz-dash-notif-list { padding: 6px 14px 10px; }
.sz-dash-notif-item { font-size: .82rem; color: var(--gray-600); padding: 7px 0; border-bottom: 1px solid var(--gray-100); line-height: 1.4; display: block; transition: color .15s; }
.sz-dash-notif-item:last-child { border-bottom: none; }
.sz-dash-notif-item.unread { color: var(--gray-800); font-weight: 600; }
.sz-dash-notif-item:hover { color: var(--emerald-600); text-decoration: none; }
.sz-dash-notif-item .ni-time { display: block; font-size: .7rem; color: var(--gray-400); margin-top: 2px; font-weight: 400; }

@media (max-width: 1080px) {
  .sz-dashboard-layout { grid-template-columns: 1fr; }
  .sz-dash-sidebar { display: none; }
}

@media (max-width: 640px) {
  .sz-user-overview { grid-template-columns: repeat(2, 1fr); }
  .sz-user-quick { grid-template-columns: repeat(2, 1fr); }
  .sz-user-panel { padding: 16px; }
}

/* ===== 用户控制台（腾讯云风格） ===== */
.sz-console { display: flex; min-height: calc(100vh - var(--header-h)); background: var(--gray-50); }
.sz-console-sidebar { width: 240px; background: #fff; border-right: 1px solid var(--gray-200); position: sticky; top: var(--header-h); align-self: flex-start; height: calc(100vh - var(--header-h)); overflow-y: auto; display: flex; flex-direction: column; z-index: 50; }
.sz-console-user { padding: 22px 20px; display: flex; gap: 12px; align-items: center; border-bottom: 1px solid var(--gray-100); }
.sz-console-avatar { width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, var(--emerald-400), var(--emerald-600)); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 700; overflow: hidden; flex-shrink: 0; }
.sz-console-avatar img { width: 100%; height: 100%; object-fit: cover; }
.sz-console-info { min-width: 0; }
.sz-console-name { font-weight: 700; color: var(--gray-900); display: flex; align-items: center; gap: 6px; font-size: .95rem; }
.sz-console-vip { color: var(--gold-500); font-size: .8rem; }
.sz-console-id { font-size: .75rem; color: var(--gray-400); margin-top: 2px; }
.sz-console-nav { padding: 14px 12px; flex: 1; }
.sz-console-nav a { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 8px; color: var(--gray-600); font-size: .9rem; font-weight: 500; margin-bottom: 4px; transition: all .15s; }
/* 控制台分组导航（我的供求等大类） */
.sz-console-group { margin: 6px 0; }
.sz-console-group-title { width: 100%; display: flex; align-items: center; gap: 10px; padding: 12px 14px 6px;
                         background: none; border: none; cursor: pointer; color: var(--gray-400);
                         font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.sz-console-group-title i:first-child { color: var(--emerald-500); }
.sz-console-group-title span { flex: 1; text-align: left; }
.sz-console-group-arrow { font-size: .68rem; transition: transform .2s; }
.sz-console-group.open .sz-console-group-arrow { transform: rotate(180deg); }
.sz-console-sub { display: none; flex-direction: column; padding: 2px 0 4px; }
.sz-console-group.open .sz-console-sub { display: flex; }
.sz-console-sub-link { display: flex; align-items: center; gap: 10px; padding: 9px 14px 9px 32px; margin: 1px 8px;
                       border-radius: 6px; color: var(--gray-600); text-decoration: none; font-size: .88rem; transition: all .15s; }
.sz-console-sub-link i { width: 16px; text-align: center; font-size: .82rem; color: var(--gray-400); }
.sz-console-sub-link:hover { background: var(--gray-50); color: var(--gray-900); }
.sz-console-sub-link.active { background: var(--emerald-50); color: var(--emerald-700); font-weight: 700; }
.sz-console-sub-link.active i { color: var(--emerald-600); }
.sz-console-nav a i { width: 18px; text-align: center; color: var(--gray-400); transition: color .15s; }
.sz-console-nav a:hover { background: var(--gray-50); color: var(--gray-900); }
.sz-console-nav a.active { background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600)); color: #fff; box-shadow: 0 6px 16px rgba(16,185,129,.25); }
.sz-console-nav a.active i { color: #fff; }
.sz-console-bottom { padding: 14px 16px; border-top: 1px solid var(--gray-100); display: flex; flex-direction: column; gap: 2px; }
.sz-console-bottom a { display: flex; align-items: center; gap: 10px; font-size: .85rem; color: var(--gray-500); padding: 8px 6px; border-radius: 8px; transition: all .15s; }
.sz-console-bottom a:hover { background: var(--gray-50); color: var(--gray-800); }
.sz-console-bottom a.logout { color: var(--red-500, #ef4444); }
.sz-console-bottom a.logout:hover { background: rgba(239,68,68,.06); }
.sz-console-main { flex: 1; min-width: 0; padding: 28px 32px 48px; }
.sz-console-toggle { display: none; }
.sz-console-breadcrumb { font-size: .85rem; color: var(--gray-400); margin-bottom: 16px; display: flex; align-items: center; gap: 8px; }
.sz-console-breadcrumb a { color: var(--gray-500); }
.sz-console-breadcrumb a:hover { color: var(--emerald-600); }
.sz-console-title { font-size: 1.4rem; font-weight: 800; color: var(--gray-900); margin-bottom: 20px; }
.sz-console-content { max-width: 980px; }

.sz-user-quick-primary { background: linear-gradient(135deg, var(--emerald-500), var(--emerald-600)); color: #fff; }
.sz-user-quick-primary:hover { color: #fff; filter: brightness(1.05); }

/* VIP 中心 */
.sz-vip-status { background: linear-gradient(135deg, var(--gold-400), var(--gold-600)); border-radius: var(--radius-md); padding: 22px; color: #fff; }
.sz-vip-status-row { display: flex; align-items: center; gap: 10px; font-size: 1.1rem; font-weight: 700; margin-bottom: 12px; }
.sz-vip-status-info { display: flex; flex-direction: column; gap: 5px; font-size: .85rem; opacity: .95; }
.sz-vip-privs { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.sz-vip-priv { display: flex; gap: 14px; align-items: flex-start; padding: 14px; border-radius: 10px; background: var(--gray-50); border: 1px solid var(--gray-100); }
.sz-vip-priv-ico { width: 40px; height: 40px; background: linear-gradient(135deg, var(--gold-400), var(--gold-600)); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: .9rem; flex-shrink: 0; }
.sz-vip-priv-title { font-weight: 700; font-size: .9rem; color: var(--gray-800); }
.sz-vip-priv-desc { font-size: .8rem; color: var(--gray-500); margin-top: 3px; }

/* 收藏列表 */
.sz-fav-list { gap: 0; }
.sz-fav-item { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: #fff; border: 1px solid var(--gray-100); border-radius: 10px; margin-bottom: 10px; transition: all .15s; }
.sz-fav-item:hover { border-color: var(--emerald-200); box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.sz-fav-main { flex: 1; min-width: 0; }
.sz-fav-title { font-weight: 600; font-size: .92rem; color: var(--gray-800); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sz-fav-meta { display: flex; align-items: center; gap: 12px; margin-top: 5px; font-size: .75rem; color: var(--gray-400); }
.sz-fav-tag { padding: 2px 9px; border-radius: 99px; font-size: .7rem; font-weight: 600; }
.sz-fav-tag-forum { background: #e0f2fe; color: #0369a1; }
.sz-fav-tag-post { background: #ecfdf5; color: #047857; }
.sz-fav-arrow { color: var(--gray-300); font-size: .9rem; }

@media (max-width: 880px) {
  .sz-console-sidebar { position: fixed; left: 0; top: var(--header-h); transform: translateX(-100%); transition: transform .25s; box-shadow: var(--shadow-lg); }
  .sz-console.show-sidebar .sz-console-sidebar { transform: translateX(0); }
  .sz-console-toggle { display: inline-flex; position: fixed; left: 16px; bottom: 24px; z-index: 910; width: 48px; height: 48px; border-radius: 50%; background: var(--emerald-600); color: #fff; align-items: center; justify-content: center; box-shadow: var(--shadow-lg); font-size: 1.1rem; border: none; }
  .sz-console-main { padding: 20px 16px 48px; }
  .sz-console-content { max-width: 100%; }
}
