/* ============================================
   05_Google_Clean 论坛模板
   Google 简洁风格 (Material 3)
   ============================================ */
:root{
  --gc-primary:#1A73E8;
  --gc-primary-dark:#1557B0;
  --gc-primary-light:#D2E3FC;
  --gc-bg:#FFFFFF;
  --gc-surface:#F8F9FA;
  --gc-text:#202124;
  --gc-text-2:#5F6368;
  --gc-text-3:#80868B;
  --gc-border:#DADCE0;
  --gc-border-2:#E8EAED;
  --gc-red:#EA4335;
  --gc-green:#34A853;
  --gc-yellow:#FBBC04;
  --gc-rd:8px;
  --gc-rd-lg:12px;
  --gc-rd-pill:20px;
  --gc-shadow-1:0 1px 2px rgba(60,64,67,.08),0 1px 3px rgba(60,64,67,.12);
  --gc-shadow-2:0 1px 6px rgba(60,64,67,.12),0 1px 8px rgba(60,64,67,.12);
  --gc-shadow-3:0 2px 10px rgba(60,64,67,.15),0 2px 12px rgba(60,64,67,.15);
  --gc-transition:.2s cubic-bezier(.2,0,0,1);
  --gc-font:'Google Sans','Roboto','Noto Sans SC',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--gc-font);background:var(--gc-bg);color:var(--gc-text);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--gc-primary);text-decoration:none}
a:hover{text-decoration:underline}
img,svg{display:block;max-width:100%}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}

.gc-ico{width:20px;height:20px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gc-ico-sm{width:16px;height:16px}
.gc-ico-lg{width:24px;height:24px}
.gc-ico-fill{fill:currentColor;stroke:none}

.gc-container{max-width:1200px;margin:0 auto;padding:0 24px}

/* ===== 顶部导航栏 ===== */
.gc-header{position:sticky;top:0;z-index:100;background:var(--gc-bg);border-bottom:1px solid var(--gc-border-2)}
.gc-header-inner{display:flex;align-items:center;gap:16px;height:64px;max-width:1200px;margin:0 auto;padding:0 24px}
.gc-logo{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.gc-logo img{height:32px}
.gc-nav-links{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.gc-nav-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--gc-rd);color:var(--gc-text-2);font-size:14px;font-weight:500;transition:background var(--gc-transition)}
.gc-nav-link:hover{background:var(--gc-surface);text-decoration:none}
.gc-nav-link.gc-active{color:var(--gc-primary);background:var(--gc-primary-light)}
.gc-search-wrap{flex:1;max-width:560px;margin:0 auto}
.gc-search-box{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;background:var(--gc-surface);border:1px solid var(--gc-border);border-radius:24px;transition:box-shadow var(--gc-transition),border-color var(--gc-transition)}
.gc-search-box:focus-within{box-shadow:var(--gc-shadow-2);border-color:transparent;background:var(--gc-bg)}
.gc-search-box input{flex:1;border:none;background:none;outline:none;font-family:inherit;font-size:15px;color:var(--gc-text);min-width:0}
.gc-search-box input::placeholder{color:var(--gc-text-3)}
.gc-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.gc-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;background:none;color:var(--gc-text-2);transition:background var(--gc-transition)}
.gc-icon-btn:hover{background:var(--gc-surface)}
.gc-icon-btn .gc-ico{width:22px;height:22px}
.gc-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;border:2px solid var(--gc-border);cursor:pointer;transition:border-color var(--gc-transition)}
.gc-avatar:hover{border-color:var(--gc-primary)}
.gc-avatar img{width:100%;height:100%}
.gc-mobile-menu-btn{display:none}

/* 移动端折叠导航 */
.gc-mobile-nav{display:none;flex-direction:column;gap:2px;padding:8px 16px 16px;border-bottom:1px solid var(--gc-border-2);background:var(--gc-bg)}
.gc-mobile-nav.gc-open{display:flex}
.gc-mobile-nav .gc-nav-link{padding:12px 16px;font-size:15px}

/* ===== Banner ===== */
.gc-banner{border-radius:0;overflow:hidden;margin:0 0 32px}
.gc-banner img{width:100%}

/* ===== 筛选 Chip 标签 ===== */
.gc-chips-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px;overflow-x:auto}
.gc-chips-bar::-webkit-scrollbar{height:0}
.gc-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:var(--gc-rd-pill);background:var(--gc-surface);border:1px solid var(--gc-border);color:var(--gc-text-2);font-size:13px;font-weight:500;white-space:nowrap;transition:all var(--gc-transition)}
.gc-chip:hover{background:var(--gc-bg);border-color:var(--gc-text-3);text-decoration:none}
.gc-chip.gc-active{background:var(--gc-primary);border-color:var(--gc-primary);color:#fff}
.gc-chip .gc-ico{width:15px;height:15px}

/* ===== 主布局 ===== */
.gc-main{display:grid;grid-template-columns:1fr 320px;gap:24px;margin-bottom:48px}

/* ===== 板块卡片网格 ===== */
.gc-board-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.gc-board-card{background:var(--gc-bg);border:1px solid var(--gc-border-2);border-radius:var(--gc-rd-lg);overflow:hidden;transition:box-shadow var(--gc-transition),border-color var(--gc-transition)}
.gc-board-card:hover{box-shadow:var(--gc-shadow-2);border-color:var(--gc-border)}
.gc-board-head{display:flex;align-items:center;gap:12px;padding:16px}
.gc-board-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;color:#fff}
.gc-board-icon .gc-ico{width:24px;height:24px}
.gc-ic-news{background:#FBBC04}.gc-ic-intl{background:#4285F4}.gc-ic-tech{background:#1A73E8}.gc-ic-fin{background:#34A853}.gc-ic-sport{background:#EA4335}.gc-ic-ent{background:#A142F4}.gc-ic-edu{background:#00AC9B}.gc-ic-health{background:#F06292}.gc-ic-car{background:#5C6BC0}.gc-ic-home{background:#FF7043}
.gc-board-info{flex:1;min-width:0}
.gc-board-name{font-size:16px;font-weight:600;color:var(--gc-text)}
.gc-board-stats{font-size:12px;color:var(--gc-text-3);margin-top:2px}
.gc-board-count{font-size:11px;font-weight:600;color:var(--gc-primary);background:var(--gc-primary-light);padding:2px 8px;border-radius:10px;white-space:nowrap}
.gc-board-threads{padding:0 16px 12px}
.gc-board-thread{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--gc-border-2)}
.gc-thread-dot{width:6px;height:6px;border-radius:50%;background:var(--gc-primary);flex:0 0 auto;opacity:.5}
.gc-thread-text{flex:1;font-size:13px;color:var(--gc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc-thread-text:hover{color:var(--gc-primary)}
.gc-thread-info{font-size:11px;color:var(--gc-text-3);white-space:nowrap}

/* ===== 侧边栏 ===== */
.gc-sidebar{display:flex;flex-direction:column;gap:16px}
.gc-side-card{background:var(--gc-bg);border:1px solid var(--gc-border-2);border-radius:var(--gc-rd-lg);overflow:hidden}
.gc-side-head{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--gc-border-2)}
.gc-side-head .gc-ico{width:18px;height:18px;color:var(--gc-primary)}
.gc-side-title{font-size:14px;font-weight:600;color:var(--gc-text)}
.gc-side-body{padding:12px 16px}
.gc-stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}
.gc-stat-label{color:var(--gc-text-2)}
.gc-stat-value{font-weight:600;color:var(--gc-text)}
.gc-hot-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--gc-border-2)}
.gc-hot-item:first-child{border-top:none}
.gc-hot-rank{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex:0 0 auto;background:var(--gc-text-3)}
.gc-hot-item:nth-child(1) .gc-hot-rank{background:var(--gc-red)}
.gc-hot-item:nth-child(2) .gc-hot-rank{background:var(--gc-yellow)}
.gc-hot-item:nth-child(3) .gc-hot-rank{background:var(--gc-primary)}
.gc-hot-title{flex:1;font-size:13px;color:var(--gc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}
.gc-hot-title:hover{color:var(--gc-primary)}
.gc-hot-heat{font-size:11px;color:var(--gc-text-3);display:flex;align-items:center;gap:3px}
.gc-hot-heat .gc-ico{width:13px;height:13px;color:var(--gc-red)}

/* ===== 列表页 ===== */
.gc-breadcrumb{display:flex;align-items:center;gap:4px;padding:16px 0;font-size:13px;color:var(--gc-text-3)}
.gc-breadcrumb a{color:var(--gc-text-2)}
.gc-breadcrumb .gc-ico{width:15px;height:15px;color:var(--gc-text-3)}
.gc-breadcrumb .gc-sep{color:var(--gc-text-3)}

.gc-board-header{display:flex;align-items:center;gap:16px;padding:24px;background:var(--gc-surface);border:1px solid var(--gc-border-2);border-radius:var(--gc-rd-lg);margin-bottom:20px}
.gc-board-header .gc-board-icon{width:56px;height:56px;border-radius:14px}
.gc-board-header .gc-board-icon .gc-ico{width:28px;height:28px}
.gc-board-header .gc-board-info{flex:1}
.gc-board-header .gc-board-name{font-size:22px;font-weight:700}
.gc-board-header .gc-board-stats{font-size:13px;margin-top:4px}

.gc-thread-list{background:var(--gc-bg);border:1px solid var(--gc-border-2);border-radius:var(--gc-rd-lg);overflow:hidden}
.gc-thread-head{display:grid;grid-template-columns:1fr 80px 80px 100px;gap:12px;padding:12px 20px;background:var(--gc-surface);font-size:12px;font-weight:600;color:var(--gc-text-2);border-bottom:1px solid var(--gc-border-2)}
.gc-thread-row{display:grid;grid-template-columns:1fr 80px 80px 100px;gap:12px;padding:14px 20px;border-bottom:1px solid var(--gc-border-2);align-items:center;transition:background var(--gc-transition)}
.gc-thread-row:last-child{border-bottom:none}
.gc-thread-row:hover{background:var(--gc-surface)}
.gc-thread-row.gc-sticky{background:#FEF7E0}
.gc-thread-main{min-width:0}
.gc-thread-tags{display:flex;gap:4px;margin-bottom:4px}
.gc-tag{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px}
.gc-tag.gc-tag-hot{background:#FCE8E6;color:var(--gc-red)}
.gc-tag.gc-tag-top{background:#FEF7E0;color:var(--gc-yellow)}
.gc-tag.gc-tag-essence{background:#E8F0FE;color:var(--gc-primary)}
.gc-thread-title{font-size:15px;font-weight:500;color:var(--gc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc-thread-title:hover{color:var(--gc-primary)}
.gc-thread-author{font-size:12px;color:var(--gc-text-3);display:flex;align-items:center;gap:6px;margin-top:4px}
.gc-thread-author .gc-avatar{width:18px;height:18px;border-width:1px}
.gc-thread-col{text-align:center;font-size:13px;color:var(--gc-text-2)}
.gc-thread-time{text-align:right;font-size:12px;color:var(--gc-text-3)}

/* 分页 */
.gc-pagination{display:flex;justify-content:center;align-items:center;gap:4px;margin:24px 0}
.gc-page{min-width:36px;height:36px;border-radius:18px;border:none;background:none;color:var(--gc-text-2);font-family:inherit;font-size:14px;display:inline-flex;align-items:center;justify-content:center;transition:background var(--gc-transition)}
.gc-page:hover{background:var(--gc-surface);text-decoration:none}
.gc-page.gc-active{background:var(--gc-primary);color:#fff;font-weight:600}
.gc-page.gc-disabled{color:var(--gc-text-3);opacity:.5;cursor:default}

/* ===== 详情页 ===== */
.gc-detail-title-wrap{padding:0 0 16px;border-bottom:1px solid var(--gc-border-2);margin-bottom:0}
.gc-detail-title{font-size:28px;font-weight:700;line-height:1.3;color:var(--gc-text);margin-bottom:12px}
.gc-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:13px;color:var(--gc-text-3)}
.gc-detail-meta span{display:inline-flex;align-items:center;gap:5px}
.gc-detail-meta .gc-ico{width:16px;height:16px}

.gc-post-card{background:var(--gc-bg);border:1px solid var(--gc-border-2);border-radius:var(--gc-rd-lg);padding:24px;margin-bottom:16px;transition:box-shadow var(--gc-transition)}
.gc-post-card:hover{box-shadow:var(--gc-shadow-1)}
.gc-post-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.gc-post-head .gc-avatar{width:48px;height:48px;border-width:2px}
.gc-post-user{flex:1}
.gc-post-name{font-size:15px;font-weight:600;color:var(--gc-text)}
.gc-post-time{font-size:12px;color:var(--gc-text-3);display:flex;align-items:center;gap:4px;margin-top:2px}
.gc-post-time .gc-ico{width:13px;height:13px}
.gc-post-floor{font-size:12px;font-weight:600;color:var(--gc-primary);background:var(--gc-primary-light);padding:4px 12px;border-radius:var(--gc-rd-pill)}
.gc-post-body{font-size:15px;line-height:1.8;color:var(--gc-text)}
.gc-post-body p{margin-bottom:12px}
.gc-post-body p:last-child{margin-bottom:0}
.gc-post-img{margin:16px 0;border-radius:var(--gc-rd);overflow:hidden;border:1px solid var(--gc-border-2)}
.gc-post-foot{display:flex;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--gc-border-2)}
.gc-post-action{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--gc-rd-pill);border:1px solid var(--gc-border);background:var(--gc-bg);color:var(--gc-text-2);font-size:13px;font-weight:500;transition:all var(--gc-transition)}
.gc-post-action:hover{background:var(--gc-surface);border-color:var(--gc-text-3)}
.gc-post-action .gc-ico{width:16px;height:16px}
.gc-post-action.gc-liked{color:var(--gc-red);border-color:var(--gc-red);background:#FCE8E6}

.gc-reply-box{background:var(--gc-bg);border:1px solid var(--gc-border-2);border-radius:var(--gc-rd-lg);padding:20px;margin-bottom:24px}
.gc-reply-box h3{font-size:16px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.gc-reply-box h3 .gc-ico{width:20px;height:20px;color:var(--gc-primary)}
.gc-textarea{width:100%;min-height:100px;border:1px solid var(--gc-border);border-radius:var(--gc-rd);padding:12px;font-family:inherit;font-size:14px;resize:vertical;background:var(--gc-surface);color:var(--gc-text);transition:border-color var(--gc-transition)}
.gc-textarea:focus{outline:none;border-color:var(--gc-primary);background:var(--gc-bg);box-shadow:0 0 0 2px var(--gc-primary-light)}
.gc-reply-foot{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.gc-reply-tools{display:flex;gap:4px}

/* ===== 搜索页 ===== */
.gc-search-hero{padding:48px 24px;text-align:center;background:var(--gc-bg)}
.gc-search-hero h1{font-size:32px;font-weight:700;margin-bottom:8px}
.gc-search-hero p{font-size:14px;color:var(--gc-text-3);margin-bottom:24px}
.gc-search-big{max-width:560px;margin:0 auto;display:flex;align-items:center;gap:12px;height:52px;padding:0 20px;background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:26px;box-shadow:var(--gc-shadow-1);transition:box-shadow var(--gc-transition)}
.gc-search-big:focus-within{box-shadow:var(--gc-shadow-3)}
.gc-search-big input{flex:1;border:none;background:none;outline:none;font-family:inherit;font-size:16px;color:var(--gc-text);min-width:0}
.gc-search-big input::placeholder{color:var(--gc-text-3)}

.gc-filter-section{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--gc-border-2);margin-bottom:20px}
.gc-filter-group{display:flex;align-items:center;gap:8px}
.gc-filter-label{font-size:13px;color:var(--gc-text-2);display:flex;align-items:center;gap:4px;font-weight:500}
.gc-filter-label .gc-ico{width:16px;height:16px}
.gc-select{padding:8px 32px 8px 12px;border:1px solid var(--gc-border);border-radius:var(--gc-rd);background:var(--gc-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235F6368' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center;font-family:inherit;font-size:13px;color:var(--gc-text);cursor:pointer;appearance:none;-webkit-appearance:none}
.gc-select:focus{outline:none;border-color:var(--gc-primary)}

.gc-result-count{font-size:13px;color:var(--gc-text-3);margin-bottom:16px}
.gc-result-list{display:flex;flex-direction:column;gap:16px}
.gc-result-item{background:var(--gc-bg);border:1px solid var(--gc-border-2);border-radius:var(--gc-rd-lg);padding:20px;transition:box-shadow var(--gc-transition)}
.gc-result-item:hover{box-shadow:var(--gc-shadow-1)}
.gc-result-title{font-size:18px;font-weight:600;color:var(--gc-primary);margin-bottom:8px;display:block}
.gc-result-title:hover{text-decoration:underline}
.gc-result-snippet{font-size:14px;color:var(--gc-text-2);line-height:1.7;margin-bottom:10px}
.gc-result-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:12px;color:var(--gc-text-3)}
.gc-result-meta span{display:inline-flex;align-items:center;gap:4px}
.gc-result-meta .gc-ico{width:14px;height:14px}

.gc-hot-search{padding:24px 0}
.gc-hot-search h3{font-size:16px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.gc-hot-search h3 .gc-ico{width:20px;height:20px;color:var(--gc-yellow)}
.gc-hot-search-tags{display:flex;flex-wrap:wrap;gap:8px}

/* ===== 按钮 ===== */
.gc-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:var(--gc-rd-pill);background:var(--gc-primary);color:#fff;border:none;font-family:inherit;font-size:14px;font-weight:600;transition:box-shadow var(--gc-transition),background var(--gc-transition)}
.gc-btn:hover{background:var(--gc-primary-dark);box-shadow:var(--gc-shadow-2);text-decoration:none}
.gc-btn.gc-btn-outline{background:transparent;border:1px solid var(--gc-border);color:var(--gc-primary)}
.gc-btn.gc-btn-outline:hover{background:var(--gc-primary-light);border-color:var(--gc-primary)}
.gc-btn .gc-ico{width:18px;height:18px}

/* FAB */
.gc-fab{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:16px;background:var(--gc-primary);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:var(--gc-shadow-3);z-index:80;transition:all var(--gc-transition)}
.gc-fab:hover{background:var(--gc-primary-dark);transform:scale(1.05)}
.gc-fab .gc-ico{width:24px;height:24px}

/* ===== 底部弹出层 ===== */
.gc-bottom-sheet{position:fixed;inset:0;z-index:200;opacity:0;visibility:hidden;transition:opacity var(--gc-transition)}
.gc-bottom-sheet.gc-show{opacity:1;visibility:visible}
.gc-bottom-sheet-mask{position:absolute;inset:0;background:rgba(0,0,0,.4)}
.gc-bottom-sheet-panel{position:absolute;left:0;right:0;bottom:0;background:var(--gc-bg);border-radius:16px 16px 0 0;padding:8px 0 24px;transform:translateY(100%);transition:transform var(--gc-transition);max-height:70vh;overflow-y:auto}
.gc-bottom-sheet.gc-show .gc-bottom-sheet-panel{transform:translateY(0)}
.gc-sheet-handle{width:40px;height:4px;border-radius:2px;background:var(--gc-border);margin:8px auto 16px}
.gc-sheet-title{font-size:18px;font-weight:600;text-align:center;padding:0 24px 16px}
.gc-sheet-item{display:flex;align-items:center;gap:12px;padding:14px 24px;transition:background var(--gc-transition);cursor:pointer;border:none;background:none;width:100%;text-align:left;color:var(--gc-text);font-family:inherit;font-size:15px}
.gc-sheet-item:hover{background:var(--gc-surface)}
.gc-sheet-item .gc-board-icon{width:36px;height:36px;border-radius:10px}
.gc-sheet-item .gc-board-icon .gc-ico{width:20px;height:20px}

/* ===== 页脚 ===== */
.gc-footer{background:var(--gc-surface);border-top:1px solid var(--gc-border-2);padding:32px 0;margin-top:48px}
.gc-footer-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.gc-footer-links{display:flex;flex-wrap:wrap;gap:24px}
.gc-footer-links a{color:var(--gc-text-2);font-size:13px}
.gc-footer-links a:hover{color:var(--gc-primary)}
.gc-footer-copy{font-size:12px;color:var(--gc-text-3)}

/* ===== 响应式 ===== */
@media(max-width:1024px){
  .gc-main{grid-template-columns:1fr}
  .gc-board-grid{grid-template-columns:1fr}
  .gc-sidebar{order:-1}
}
@media(max-width:768px){
  .gc-container{padding:0 16px}
  .gc-nav-links{display:none}
  .gc-search-wrap{display:none}
  .gc-mobile-menu-btn{display:inline-flex}
  .gc-header-inner{height:56px}
  .gc-header-actions .gc-icon-btn:not(.gc-mobile-menu-btn){display:none}
  .gc-board-grid{grid-template-columns:1fr}
  .gc-detail-title{font-size:22px}
  .gc-thread-head,.gc-thread-row{grid-template-columns:1fr 60px 70px}
  .gc-thread-head .gc-col-views,.gc-thread-row .gc-thread-col-views{display:none}
  .gc-thread-time{text-align:left}
  .gc-footer-inner{flex-direction:column;text-align:center}
  .gc-search-hero h1{font-size:24px}
  .gc-filter-section{gap:8px}
  .gc-post-card{padding:16px}
  .gc-post-foot{flex-wrap:wrap}
}
@media(max-width:480px){
  .gc-board-header{flex-direction:column;text-align:center;gap:12px}
  .gc-board-header .gc-board-icon{width:48px;height:48px}
  .gc-detail-title{font-size:20px}
  .gc-fab{right:16px;bottom:16px;width:48px;height:48px;border-radius:12px}
}

/* ============================================================
   CMS 扩展样式 - 使用 gc 变量
   ============================================================ */

/* ---------- 分页(CMS) ---------- */
.jv-pagination{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:24px 0;justify-content:center;
}
.jv-page-info{
  font-size:13px;color:var(--gc-text-3);margin-right:12px;
}
.jv-pagination a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;padding:0 10px;
  font-size:13px;font-weight:500;cursor:pointer;
  background:var(--gc-bg);border:1px solid var(--gc-border);
  border-radius:var(--gc-rd);color:var(--gc-text-2);
  transition:all var(--gc-transition);text-decoration:none;
}
.jv-pagination a:hover{
  border-color:var(--gc-primary);color:var(--gc-primary);
}
.jv-pagination a.active{
  background:var(--gc-primary);border-color:var(--gc-primary);
  color:#fff;font-weight:600;
}
.jv-pagination a.disabled{
  color:var(--gc-text-3);border-color:var(--gc-border);
  cursor:not-allowed;pointer-events:none;opacity:.5;
}
.jv-page-dots{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;color:var(--gc-text-3);font-size:13px;
}

/* ---------- 评论区 ---------- */
.comment-section{margin-top:0}
.comment-form-area{margin-bottom:20px}
.comment-login-notice{
  background:var(--gc-surface);border:1px solid var(--gc-border);
  border-radius:var(--gc-rd);padding:20px;text-align:center;
}
.comment-list{display:flex;flex-direction:column}
.comment-item{
  display:flex;gap:12px;padding:16px 0;
  border-bottom:1px solid var(--gc-border);
}
.comment-item:last-child{border-bottom:none}
.comment-avatar{
  flex-shrink:0;width:40px;height:40px;border-radius:50%;
  background:var(--gc-primary);color:#fff;
  font-size:16px;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:14px;font-weight:700;color:var(--gc-text)}
.comment-reply-to{font-size:12px;color:var(--gc-text-3)}
.comment-reply-to::before{content:'\2192';margin-right:3px}
.comment-time{font-size:12px;color:var(--gc-text-3);margin-left:auto}
.comment-content{font-size:14px;color:var(--gc-text);line-height:1.7;word-break:break-word}
.comment-actions{margin-top:8px}
.comment-reply-btn{
  display:inline-flex;align-items:center;
  height:26px;padding:0 12px;
  border:none;background:transparent;
  color:var(--gc-text-3);font-size:12px;cursor:pointer;
  transition:all var(--gc-transition);
}
.comment-reply-btn:hover{color:var(--gc-primary)}
.comment-reply-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.comment-reply-input{
  width:100%;border:1px solid var(--gc-border-2);
  border-radius:var(--gc-rd);padding:10px 14px;
  font-size:13px;line-height:1.5;resize:vertical;min-height:60px;
  font-family:inherit;background:var(--gc-bg);color:var(--gc-text);
  transition:border-color var(--gc-transition);outline:none;
}
.comment-reply-input:focus{border-color:var(--gc-primary)}
.comment-reply-submit{
  align-self:flex-end;display:inline-flex;align-items:center;
  height:32px;padding:0 16px;
  border:1px solid var(--gc-primary);background:var(--gc-primary);color:#fff;
  font-size:12px;font-weight:600;cursor:pointer;
  border-radius:var(--gc-rd);transition:all var(--gc-transition);
}
.comment-reply-submit:hover{background:var(--gc-primary-dark);border-color:var(--gc-primary-dark)}
.comment-reply-submit:disabled{opacity:.6;cursor:not-allowed}
.comment-replies{
  margin-left:52px;padding-left:16px;
  border-left:2px solid var(--gc-border);
  display:flex;flex-direction:column;
}
.comment-reply-item{
  display:flex;gap:10px;padding:12px 0;
  border-bottom:1px solid var(--gc-border);
}
.comment-reply-item:last-child{border-bottom:none}
.comment-reply-item .comment-avatar{width:32px;height:32px;font-size:13px}
.comment-reply-item .comment-author{font-size:13px}
.comment-reply-item .comment-content{font-size:13px}
.comment-empty{text-align:center;padding:32px 16px;color:var(--gc-text-3);font-size:14px}
.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:36px;padding:0 28px;
  border:1px solid var(--gc-border);border-radius:var(--gc-rd);
  background:var(--gc-bg);color:var(--gc-text-2);
  font-size:13px;font-weight:600;cursor:pointer;
  transition:all var(--gc-transition);
}
.comment-load-more-btn:hover{border-color:var(--gc-primary);color:var(--gc-primary)}
.comment-submit-btn:disabled{opacity:.6;cursor:not-allowed}
.comment-char-count{font-size:13px;color:var(--gc-text-3)}

/* ---------- 文章内容图片 ---------- */
.gc-post-body img{max-width:100%;height:auto}
