/* ============================================
   47_Slate_Gray_Pro 石板灰论坛 - 样式表
   主色#475569 / 强调#64748B / 背景#F8FAFC / 文字#1E293B
   ============================================ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --sg-primary:#475569;
  --sg-accent:#64748B;
  --sg-bg:#F8FAFC;
  --sg-surface:#FFFFFF;
  --sg-text:#1E293B;
  --sg-text-light:#94A3B8;
  --sg-border:#E2E8F0;
  --sg-shadow:0 1px 3px rgba(30,41,59,0.08),0 1px 2px rgba(30,41,59,0.06);
  --sg-shadow-hover:0 4px 12px rgba(30,41,59,0.12);
  --sg-radius:6px;
  --sg-transition:all .2s ease;
}
.sg-body{font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;background:var(--sg-bg);color:var(--sg-text);line-height:1.6;overflow-x:hidden;}
a{text-decoration:none;color:inherit;transition:var(--sg-transition);}
ul{list-style:none;}
img{max-width:100%;display:block;}
.sg-container{max-width:1280px;margin:0 auto;padding:0 20px;}
.sg-geo-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;}

/* ===== 顶部导航栏 ===== */
.sg-header{position:sticky;top:0;z-index:1000;background:var(--sg-surface);border-bottom:2px solid var(--sg-primary);box-shadow:var(--sg-shadow);}
.sg-header-inner{display:flex;align-items:center;height:60px;gap:20px;}
.sg-logo{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.sg-logo-text{font-size:18px;font-weight:700;color:var(--sg-primary);letter-spacing:1px;}
.sg-nav{display:flex;gap:0;flex:1;overflow-x:auto;scrollbar-width:none;}
.sg-nav::-webkit-scrollbar{display:none;}
.sg-nav-link{color:var(--sg-text);font-size:13px;padding:8px 12px;font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;}
.sg-nav-link:hover,.sg-nav-link.sg-nav-active{color:var(--sg-primary);border-bottom-color:var(--sg-primary);}
.sg-header-tools{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.sg-search-box{display:flex;align-items:center;gap:6px;background:var(--sg-bg);border:1px solid var(--sg-border);border-radius:var(--sg-radius);padding:5px 10px;color:var(--sg-text-light);}
.sg-search-box:focus-within{border-color:var(--sg-accent);}
.sg-search-input{background:none;border:none;outline:none;color:var(--sg-text);font-size:13px;width:120px;font-family:inherit;}
.sg-search-input::placeholder{color:var(--sg-text-light);}
.sg-user-area{display:flex;align-items:center;gap:6px;}
.sg-icon-btn{position:relative;background:none;border:none;color:var(--sg-text-light);cursor:pointer;padding:4px;display:flex;border-radius:var(--sg-radius);}
.sg-icon-btn:hover{color:var(--sg-primary);background:var(--sg-bg);}
.sg-badge{position:absolute;top:-4px;right:-4px;background:#EF4444;color:#FFF;font-size:9px;font-weight:700;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px;}
.sg-avatar-sm{width:30px;height:30px;border-radius:var(--sg-radius);}
.sg-avatar-xs{width:24px;height:24px;border-radius:var(--sg-radius);}
.sg-menu-toggle{display:none;background:none;border:none;color:var(--sg-text);cursor:pointer;padding:4px;}

/* ===== Banner区 ===== */
.sg-banner{position:relative;height:240px;overflow:hidden;z-index:1;background:var(--sg-primary);}
.sg-banner-deco{position:absolute;inset:0;}
.sg-banner-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;height:100%;gap:30px;}
.sg-banner-left{color:#FFF;}
.sg-banner-title{font-size:30px;font-weight:700;margin-bottom:8px;}
.sg-banner-desc{font-size:14px;opacity:0.85;margin-bottom:18px;}
.sg-banner-actions{display:flex;gap:10px;}
.sg-btn-solid{display:inline-flex;align-items:center;gap:6px;background:#FFF;color:var(--sg-primary);border:none;padding:8px 18px;border-radius:var(--sg-radius);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--sg-transition);}
.sg-btn-solid:hover{background:var(--sg-bg);transform:translateY(-1px);}
.sg-btn-ghost{display:inline-flex;align-items:center;gap:6px;background:transparent;color:#FFF;border:1.5px solid rgba(255,255,255,0.5);padding:7px 18px;border-radius:var(--sg-radius);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;}
.sg-btn-ghost:hover{border-color:#FFF;background:rgba(255,255,255,0.1);}
.sg-banner-stats{display:flex;gap:12px;}
.sg-stat-card{background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.2);border-radius:var(--sg-radius);padding:14px 20px;text-align:center;backdrop-filter:blur(4px);}
.sg-stat-card strong{display:block;font-size:22px;font-weight:700;color:#FFF;}
.sg-stat-card span{font-size:12px;color:rgba(255,255,255,0.8);}

/* ===== 快捷栏目条 ===== */
.sg-quick-nav{display:flex;flex-wrap:wrap;gap:0;padding:10px 0;border-bottom:1px solid var(--sg-border);position:relative;z-index:2;}
.sg-quick-nav a{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--sg-text-light);padding:6px 12px;border-right:1px solid var(--sg-border);}
.sg-quick-nav a:last-child{border-right:none;}
.sg-quick-nav a:hover{color:var(--sg-primary);}

/* ===== 主体布局 ===== */
.sg-main{position:relative;z-index:2;padding:24px 20px;}
.sg-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;}
.sg-layout-list{grid-template-columns:1fr 280px;}
.sg-layout-detail{grid-template-columns:1fr 280px;}

/* ===== 板块网格 ===== */
.sg-boards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.sg-board-card{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius);box-shadow:var(--sg-shadow);overflow:hidden;transition:var(--sg-transition);}
.sg-board-card:hover{box-shadow:var(--sg-shadow-hover);border-color:var(--sg-accent);}
.sg-board-hot{border-top:3px solid var(--sg-primary);}
.sg-board-card-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--sg-border);background:var(--sg-bg);}
.sg-board-num{font-size:20px;font-weight:800;color:var(--sg-border);font-family:'Georgia',serif;}
.sg-board-card-info{flex:1;}
.sg-board-card-name{font-size:15px;font-weight:600;margin-bottom:2px;}
.sg-board-card-name a:hover{color:var(--sg-primary);}
.sg-board-card-count{font-size:11px;color:var(--sg-text-light);}
.sg-board-card-icon{color:var(--sg-accent);opacity:0.5;}
.sg-board-card-posts{padding:8px 16px 12px;}
.sg-board-card-posts li{padding:5px 0;}
.sg-board-card-posts a{font-size:13px;color:var(--sg-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;}
.sg-board-card-posts a:hover{color:var(--sg-primary);}
.sg-tag{display:inline-block;font-size:10px;padding:1px 5px;border-radius:3px;margin-right:5px;font-weight:600;}
.sg-tag-top{background:#EF4444;color:#FFF;}
.sg-tag-essence{background:#F59E0B;color:#FFF;}
.sg-tag-hot{background:#EF4444;color:#FFF;}
.sg-tag-new{background:#10B981;color:#FFF;}

/* ===== 侧边栏 ===== */
.sg-sidebar{display:flex;flex-direction:column;gap:16px;}
.sg-widget{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius);padding:16px;box-shadow:var(--sg-shadow);}
.sg-widget-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--sg-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--sg-border);}
.sg-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.sg-stat-item{background:var(--sg-bg);border-radius:var(--sg-radius);padding:10px;text-align:center;}
.sg-stat-item strong{display:block;font-size:18px;font-weight:700;color:var(--sg-primary);}
.sg-stat-item span{font-size:11px;color:var(--sg-text-light);}
.sg-hot-list li{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--sg-border);}
.sg-hot-list li:last-child{border-bottom:none;}
.sg-rank{width:18px;height:18px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#FFF;background:var(--sg-text-light);flex-shrink:0;}
.sg-rank-top{background:var(--sg-primary);}
.sg-hot-list a{font-size:12px;color:var(--sg-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sg-hot-list a:hover{color:var(--sg-primary);}
.sg-user-list{display:flex;flex-direction:column;gap:10px;}
.sg-user-item{display:flex;align-items:center;gap:8px;}
.sg-user-item img{width:32px;height:32px;border-radius:var(--sg-radius);}
.sg-user-name{font-size:12px;font-weight:600;}
.sg-user-info{font-size:11px;color:var(--sg-text-light);}
.sg-role{font-size:9px;background:var(--sg-primary);color:#FFF;padding:1px 4px;border-radius:2px;margin-left:3px;}
.sg-role-sub{background:var(--sg-accent);}
.sg-widget-notice{border-left:3px solid var(--sg-primary);}
.sg-notice-text{font-size:12px;color:var(--sg-text-light);line-height:1.7;}

/* ===== 面包屑 ===== */
.sg-breadcrumb{display:flex;align-items:center;gap:6px;padding:12px 0;font-size:12px;color:var(--sg-text-light);position:relative;z-index:2;}
.sg-breadcrumb a{color:var(--sg-text-light);display:flex;align-items:center;gap:3px;}
.sg-breadcrumb a:hover{color:var(--sg-primary);}
.sg-crumb-sep{opacity:0.5;}

/* ===== 列表页 ===== */
.sg-list-main{display:flex;flex-direction:column;gap:12px;}
.sg-board-info-bar{display:flex;align-items:center;justify-content:space-between;background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius);padding:16px 20px;box-shadow:var(--sg-shadow);border-left:4px solid var(--sg-primary);}
.sg-board-info-title{font-size:20px;font-weight:700;color:var(--sg-text);}
.sg-board-info-meta{font-size:12px;color:var(--sg-text-light);margin-top:2px;}
.sg-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius);padding:10px 14px;}
.sg-toolbar-tabs{display:flex;gap:0;}
.sg-tab{background:none;border:1px solid var(--sg-border);border-right:none;color:var(--sg-text-light);padding:6px 14px;font-size:12px;cursor:pointer;font-family:inherit;}
.sg-tab:first-child{border-radius:var(--sg-radius) 0 0 var(--sg-radius);}
.sg-tab:last-child{border-right:1px solid var(--sg-border);border-radius:0 var(--sg-radius) var(--sg-radius) 0;}
.sg-tab.sg-tab-active{background:var(--sg-primary);color:#FFF;border-color:var(--sg-primary);}
.sg-tab:hover:not(.sg-tab-active){background:var(--sg-bg);}
.sg-toolbar-right{display:flex;gap:6px;}
.sg-select{background:var(--sg-surface);border:1px solid var(--sg-border);color:var(--sg-text);padding:6px 10px;border-radius:var(--sg-radius);font-size:12px;cursor:pointer;font-family:inherit;outline:none;}

/* 帖子表格 */
.sg-thread-table{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius);overflow:hidden;box-shadow:var(--sg-shadow);}
.sg-thread-thead{display:flex;align-items:center;padding:10px 16px;background:var(--sg-bg);border-bottom:1px solid var(--sg-border);font-size:11px;font-weight:600;color:var(--sg-text-light);}
.sg-thread-thead .sg-col-title{flex:1;}
.sg-thread-thead .sg-col-author{width:120px;}
.sg-thread-thead .sg-col-reply{width:100px;text-align:center;}
.sg-thread-thead .sg-col-last{width:140px;}
.sg-thread-row{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--sg-border);transition:var(--sg-transition);}
.sg-thread-row:last-child{border-bottom:none;}
.sg-thread-row:hover{background:var(--sg-bg);}
.sg-thread-top{background:rgba(71,85,105,0.04);}
.sg-thread-row .sg-col-title{flex:1;display:flex;align-items:center;gap:6px;}
.sg-thread-row .sg-col-author{width:120px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--sg-text-light);}
.sg-thread-row .sg-col-reply{width:100px;text-align:center;font-size:12px;}
.sg-reply-num{display:block;font-weight:600;color:var(--sg-text);}
.sg-view-num{display:block;font-size:11px;color:var(--sg-text-light);}
.sg-thread-row .sg-col-last{width:140px;display:flex;align-items:center;gap:6px;font-size:11px;}
.sg-thread-title{font-size:14px;color:var(--sg-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sg-thread-title:hover{color:var(--sg-primary);}
.sg-last-time{display:block;color:var(--sg-text-light);}

/* 分页 */
.sg-pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 0;}
.sg-page{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:var(--sg-radius);background:var(--sg-surface);border:1px solid var(--sg-border);color:var(--sg-text);font-size:13px;cursor:pointer;}
.sg-page:hover:not(.sg-page-disabled):not(.sg-page-active){border-color:var(--sg-primary);color:var(--sg-primary);}
.sg-page-active{background:var(--sg-primary);color:#FFF;border-color:var(--sg-primary);}
.sg-page-disabled{opacity:0.4;cursor:not-allowed;}
.sg-page-ellipsis{color:var(--sg-text-light);}

/* ===== 详情页 ===== */
.sg-detail-main{display:flex;flex-direction:column;gap:12px;}
.sg-detail-title-bar{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius);padding:20px;box-shadow:var(--sg-shadow);border-left:4px solid var(--sg-primary);}
.sg-detail-tags{display:flex;align-items:center;gap:5px;margin-bottom:8px;}
.sg-detail-cat{font-size:11px;color:var(--sg-accent);background:var(--sg-bg);padding:2px 8px;border-radius:3px;font-weight:500;}
.sg-detail-title{font-size:22px;font-weight:700;line-height:1.4;margin-bottom:10px;}
.sg-detail-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--sg-text-light);}
.sg-detail-meta span{display:flex;align-items:center;gap:3px;}

.sg-post{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius);box-shadow:var(--sg-shadow);overflow:hidden;}
.sg-post-op{border-left:3px solid var(--sg-primary);}
.sg-post-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--sg-border);background:var(--sg-bg);}
.sg-post-avatar{width:40px;height:40px;border-radius:var(--sg-radius);flex-shrink:0;}
.sg-post-user{flex:1;display:flex;flex-direction:column;gap:2px;}
.sg-post-username{font-size:14px;font-weight:600;}
.sg-post-level{font-size:10px;color:#FFF;background:var(--sg-primary);padding:1px 6px;border-radius:3px;width:fit-content;}
.sg-level-2{background:#10B981;}
.sg-level-3{background:#F59E0B;}
.sg-level-4{background:#3B82F6;}
.sg-post-floor{display:flex;flex-direction:column;align-items:flex-end;gap:2px;}
.sg-floor{font-size:12px;font-weight:600;color:var(--sg-primary);}
.sg-post-time{font-size:11px;color:var(--sg-text-light);}
.sg-post-content{padding:16px;font-size:14px;line-height:1.8;}
.sg-post-content p{margin-bottom:12px;}
.sg-post-image{max-width:480px;border-radius:var(--sg-radius);margin:12px 0;border:1px solid var(--sg-border);}
.sg-post-actions{display:flex;gap:6px;padding:10px 16px;border-top:1px solid var(--sg-border);background:var(--sg-bg);}
.sg-post-action{display:flex;align-items:center;gap:4px;background:var(--sg-surface);border:1px solid var(--sg-border);color:var(--sg-text-light);padding:5px 12px;border-radius:var(--sg-radius);font-size:12px;cursor:pointer;font-family:inherit;}
.sg-post-action:hover{background:var(--sg-primary);color:#FFF;border-color:var(--sg-primary);}

.sg-reply-box{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius);padding:16px;box-shadow:var(--sg-shadow);}
.sg-reply-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--sg-primary);margin-bottom:10px;}
.sg-reply-textarea{width:100%;min-height:100px;border:1px solid var(--sg-border);border-radius:var(--sg-radius);padding:10px;font-size:13px;font-family:inherit;resize:vertical;outline:none;}
.sg-reply-textarea:focus{border-color:var(--sg-accent);}
.sg-reply-toolbar{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
.sg-reply-tools{display:flex;gap:2px;}
.sg-reply-tool{background:none;border:none;color:var(--sg-text-light);padding:4px;cursor:pointer;border-radius:var(--sg-radius);display:flex;align-items:center;}
.sg-reply-tool:hover{background:var(--sg-bg);color:var(--sg-primary);}

.sg-btn-outline{background:none;border:1.5px solid var(--sg-primary);color:var(--sg-primary);padding:7px 18px;border-radius:var(--sg-radius);font-size:13px;cursor:pointer;font-family:inherit;width:100%;margin-top:10px;}
.sg-btn-outline:hover{background:var(--sg-primary);color:#FFF;}
.sg-btn-text{background:none;border:none;color:var(--sg-text-light);font-size:11px;cursor:pointer;margin-top:6px;font-family:inherit;padding:4px;}

/* 楼主信息 */
.sg-op-widget{text-align:center;}
.sg-op-avatar{width:56px;height:56px;border-radius:var(--sg-radius);margin:0 auto 8px;}
.sg-op-name{font-size:14px;font-weight:600;}
.sg-op-stats{display:flex;justify-content:space-around;margin:12px 0;text-align:center;}
.sg-op-stats strong{display:block;font-size:16px;color:var(--sg-primary);}
.sg-op-stats span{font-size:10px;color:var(--sg-text-light);}

/* ===== 搜索页 ===== */
.sg-search-hero{background:var(--sg-primary);padding:36px 0;position:relative;z-index:2;}
.sg-search-hero-title{display:flex;align-items:center;gap:8px;color:#FFF;font-size:24px;font-weight:700;margin-bottom:16px;}
.sg-search-large{display:flex;gap:8px;max-width:650px;}
.sg-search-large-input{flex:1;border:1px solid var(--sg-border);outline:none;font-size:15px;padding:10px 14px;border-radius:var(--sg-radius);font-family:inherit;}
.sg-search-large-input:focus{border-color:var(--sg-accent);}
.sg-search-hint{color:rgba(255,255,255,0.85);font-size:13px;margin-top:10px;}
.sg-search-hint strong{color:#FFF;font-size:15px;}

.sg-search-results{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:var(--sg-radius);box-shadow:var(--sg-shadow);overflow:hidden;}
.sg-search-item{padding:14px 16px;border-bottom:1px solid var(--sg-border);}
.sg-search-item:last-child{border-bottom:none;}
.sg-search-item:hover{background:var(--sg-bg);}
.sg-search-item-head{display:flex;align-items:center;gap:5px;margin-bottom:6px;}
.sg-search-item-title{font-size:15px;font-weight:600;color:var(--sg-text);}
.sg-search-item-title:hover{color:var(--sg-primary);}
.sg-search-item-desc{font-size:12px;color:var(--sg-text-light);line-height:1.6;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sg-search-item-desc mark{background:rgba(71,85,105,0.15);color:var(--sg-primary);padding:0 2px;}
.sg-search-item-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--sg-text-light);}
.sg-search-item-meta span{display:flex;align-items:center;gap:3px;}
.sg-search-cat{color:var(--sg-primary);font-weight:500;}

.sg-hot-search{display:flex;flex-wrap:wrap;gap:6px;}
.sg-hot-tag{font-size:12px;padding:5px 12px;border-radius:var(--sg-radius);background:var(--sg-bg);border:1px solid var(--sg-border);color:var(--sg-text);}
.sg-hot-tag:hover{background:var(--sg-primary);color:#FFF;border-color:var(--sg-primary);}
.sg-hot-1{color:#EF4444;border-color:#EF4444;}
.sg-hot-2{color:#F59E0B;border-color:#F59E0B;}
.sg-hot-3{color:#10B981;border-color:#10B981;}
.sg-search-history li{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--sg-border);}
.sg-search-history li:last-child{border-bottom:none;}
.sg-search-history a{font-size:12px;color:var(--sg-text);flex:1;}
.sg-search-history a:hover{color:var(--sg-primary);}
.sg-history-del{background:none;border:none;color:var(--sg-text-light);cursor:pointer;padding:2px;display:flex;}
.sg-history-del:hover{color:#EF4444;}

/* ===== 页脚 ===== */
.sg-footer{background:var(--sg-text);color:rgba(255,255,255,0.65);margin-top:30px;position:relative;z-index:2;}
.sg-footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;padding:36px 20px 16px;}
.sg-footer-title{color:#FFF;font-size:14px;font-weight:600;margin-bottom:10px;}
.sg-footer-col p{font-size:12px;line-height:1.7;}
.sg-footer-links li{margin-bottom:6px;}
.sg-footer-links a{font-size:12px;}
.sg-footer-links a:hover{color:var(--sg-accent);}
.sg-social{display:flex;gap:8px;}
.sg-social-btn{width:34px;height:34px;border-radius:var(--sg-radius);background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:#FFF;}
.sg-social-btn:hover{background:var(--sg-accent);}
.sg-footer-bottom{text-align:center;padding:14px 20px;border-top:1px solid rgba(255,255,255,0.1);font-size:11px;}

/* ===== 响应式 ===== */
@media (max-width:1024px){
  .sg-layout,.sg-layout-list,.sg-layout-detail{grid-template-columns:1fr;}
  .sg-boards-grid{grid-template-columns:1fr;}
  .sg-footer-inner{grid-template-columns:1fr 1fr;}
  .sg-banner-content{flex-direction:column;text-align:center;padding:20px 0;}
  .sg-banner-stats{flex-wrap:wrap;justify-content:center;}
}
@media (max-width:768px){
  .sg-nav{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;background:var(--sg-surface);padding:8px;gap:0;border-bottom:2px solid var(--sg-primary);box-shadow:var(--sg-shadow-hover);}
  .sg-nav.in-nav-open{display:flex;}
  .sg-nav-link{border-bottom:1px solid var(--sg-border);padding:10px 14px;}
  .sg-menu-toggle{display:block;}
  .sg-search-box{display:none;}
  .sg-banner{height:auto;padding:20px 0;}
  .sg-banner-title{font-size:22px;}
  .sg-thread-thead{display:none;}
  .sg-thread-row{flex-wrap:wrap;padding:10px 12px;}
  .sg-thread-row .sg-col-title{width:100%;flex:0 0 100%;margin-bottom:6px;}
  .sg-thread-row .sg-col-author{width:auto;flex:1;}
  .sg-thread-row .sg-col-reply{width:auto;}
  .sg-thread-row .sg-col-last{width:100%;margin-top:4px;}
  .sg-quick-nav a{border-right:none;border-bottom:1px solid var(--sg-border);}
  .sg-footer-inner{grid-template-columns:1fr;}
}
@media (max-width:480px){
  .sg-container{padding:0 12px;}
  .sg-banner-stats{flex-direction:column;gap:8px;}
  .sg-detail-title{font-size:17px;}
}

/* ===== CMS分页 ===== */
.jv-pagination {
  display: flex; align-items: center; gap: 4px; flex-wrap: wrap;
  padding: 32px 0; justify-content: center;
}
.jv-page-info {
  font-size: 0.75rem; color: #94A3B8;
  margin-right: 12px; letter-spacing: 0.3px;
}
.jv-pagination a {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 12px;
  font-size: 0.8125rem; font-weight: 500;
  cursor: pointer; background: none;
  border: 1px solid transparent;
  color: var(--sg-text-light);
  transition: all var(--sg-transition);
  text-decoration: none; font-variant-numeric: tabular-nums;
}
.jv-pagination a:hover {
  color: var(--sg-text); border-color: var(--sg-border);
}
.jv-pagination a.active {
  color: var(--sg-text); border-color: var(--sg-text); font-weight: 700;
}
.jv-pagination a.disabled {
  color: #94A3B8; border-color: transparent;
  cursor: not-allowed; pointer-events: none; opacity: 0.5;
}
.jv-page-dots {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px;
  color: #94A3B8; font-size: 0.8125rem;
}

/* ===== CMS评论区 ===== */
.comment-section { margin-top: 48px; }
.comment-form-area { margin-bottom: 24px; }
.comment-login-notice {
  background: var(--sg-surface); border: 1px solid var(--sg-border);
  padding: 24px; text-align: center;
}
.comment-list { display: flex; flex-direction: column; }
.comment-item {
  display: flex; gap: 14px; padding: 20px 0;
  border-bottom: 1px solid var(--sg-border);
}
.comment-item:last-child { border-bottom: none; }
.comment-avatar {
  flex-shrink: 0; width: 36px; height: 36px;
  border-radius: 50%; background: var(--sg-primary); color: #fff;
  font-size: 0.875rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.comment-main { flex: 1; min-width: 0; }
.comment-head {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 6px; flex-wrap: wrap;
}
.comment-author { font-size: 0.8125rem; font-weight: 700; color: var(--sg-text); }
.comment-reply-to { font-size: 0.6875rem; color: #94A3B8; }
.comment-reply-to::before { content: '\2192'; margin-right: 3px; }
.comment-time {
  font-size: 0.6875rem; color: #94A3B8;
  margin-left: auto;
}
.comment-content {
  font-size: 0.8125rem; color: var(--sg-text);
  line-height: 1.7; word-break: break-word;
}
.comment-actions { margin-top: 8px; }
.comment-reply-btn {
  display: inline-flex; align-items: center;
  height: 24px; padding: 0 10px;
  border: none; background: transparent;
  color: #94A3B8; font-size: 0.6875rem;
  cursor: pointer; transition: all var(--sg-transition);
}
.comment-reply-btn:hover { color: var(--sg-text); }
.comment-reply-form {
  margin-top: 10px; display: flex; flex-direction: column; gap: 8px;
}
.comment-reply-input {
  width: 100%; border: 1px solid var(--sg-border);
  padding: 10px 14px; font-size: 0.75rem; line-height: 1.5;
  resize: vertical; min-height: 60px; font-family: inherit;
  background: var(--sg-surface); color: var(--sg-text);
  transition: border-color var(--sg-transition);
}
.comment-reply-input:focus { border-color: var(--sg-accent); }
.comment-reply-submit {
  align-self: flex-end;
  display: inline-flex; align-items: center;
  height: 28px; padding: 0 14px;
  border: 1px solid var(--sg-primary);
  background: var(--sg-primary); color: #fff;
  font-size: 0.6875rem; font-weight: 600;
  cursor: pointer; transition: all var(--sg-transition);
}
.comment-reply-submit:hover { background: transparent; color: var(--sg-primary); }
.comment-reply-submit:disabled { opacity: 0.6; cursor: not-allowed; }
.comment-replies {
  margin-left: 50px; padding-left: 16px;
  border-left: 2px solid var(--sg-border);
  display: flex; flex-direction: column;
}
.comment-reply-item {
  display: flex; gap: 10px; padding: 12px 0;
  border-bottom: 1px solid var(--sg-border);
}
.comment-reply-item:last-child { border-bottom: none; }
.comment-reply-item .comment-avatar { width: 28px; height: 28px; font-size: 0.75rem; }
.comment-reply-item .comment-author { font-size: 0.75rem; }
.comment-reply-item .comment-content { font-size: 0.75rem; }
.comment-empty {
  text-align: center; padding: 32px 16px;
  color: #94A3B8; font-size: 0.8125rem;
}
.comment-empty p { margin: 0; }
.comment-load-more { display: flex; justify-content: center; padding: 16px 0; }
.comment-load-more-btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 34px; padding: 0 24px;
  border: 1px solid var(--sg-border);
  background: var(--sg-surface); color: var(--sg-text-light);
  font-size: 0.75rem; font-weight: 500;
  cursor: pointer; transition: all var(--sg-transition);
}
.comment-load-more-btn:hover { border-color: var(--sg-primary); color: var(--sg-primary); }
.comment-submit-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.comment-char-count { font-size: 0.6875rem; color: #94A3B8; }

/* ===== CMS下载页 ===== */
.sg-download-info {
  display: flex; align-items: center; gap: 20px;
  padding: 24px; background: var(--sg-surface);
  border: 1px solid var(--sg-border); border-radius: var(--sg-radius);
  box-shadow: var(--sg-shadow); margin-bottom: 24px;
}
.sg-download-file {
  width: 56px; height: 56px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--sg-border); border-radius: var(--sg-radius);
}
.sg-download-meta { flex: 1; }
.sg-download-name { font-size: 16px; font-weight: 700; color: var(--sg-text); margin-bottom: 4px; }
.sg-download-desc { font-size: 12px; color: var(--sg-text-light); }
.sg-download-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 24px; border: 1px solid var(--sg-primary);
  background: var(--sg-primary); color: #fff;
  font-size: 13px; font-weight: 600;
  cursor: pointer; transition: all var(--sg-transition);
  text-decoration: none; border-radius: var(--sg-radius);
}
.sg-download-btn:hover { background: transparent; color: var(--sg-primary); }

/* ===== CMS标签页 ===== */
.sg-tag-cloud { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 0; }
.sg-tag-item {
  font-size: 13px; padding: 6px 16px;
  border: 1px solid var(--sg-border); border-radius: var(--sg-radius);
  color: var(--sg-text-light);
  transition: all var(--sg-transition); text-decoration: none;
}
.sg-tag-item:hover { border-color: var(--sg-primary); color: var(--sg-primary); }

/* ===== CMS用户认证页 ===== */
.sg-auth-wrap { max-width: 480px; margin: 48px auto; padding: 0 20px; }
.sg-auth-box {
  background: var(--sg-surface); border: 1px solid var(--sg-border);
  border-radius: var(--sg-radius); padding: 32px;
  box-shadow: var(--sg-shadow);
}
.sg-auth-header { text-align: center; margin-bottom: 24px; }
.sg-auth-header h1 { font-size: 20px; font-weight: 700; color: var(--sg-text); margin-bottom: 8px; }
.sg-auth-header p { font-size: 14px; color: var(--sg-text-light); }
.sg-auth-form { display: flex; flex-direction: column; gap: 16px; }
.sg-auth-group { display: flex; flex-direction: column; gap: 4px; }
.sg-auth-group label { font-size: 14px; color: var(--sg-text-light); }
.sg-auth-group input {
  width: 100%; padding: 12px 16px;
  border: 1px solid var(--sg-border); border-radius: var(--sg-radius);
  background: var(--sg-surface); color: var(--sg-text);
  font-size: 14px; font-family: inherit;
  transition: border-color var(--sg-transition);
  outline: none; box-sizing: border-box;
}
.sg-auth-group input:focus { border-color: var(--sg-accent); }
.sg-auth-submit { width: 100%; margin-top: 8px; }
.sg-auth-footer {
  text-align: center; margin-top: 24px;
  font-size: 13px; color: var(--sg-text-light);
}
.sg-auth-link { color: var(--sg-primary); font-weight: 500; margin-left: 8px; }
.sg-auth-link:hover { color: var(--sg-accent); }
