/* 前台主题样式 —— 响应式三端适配 + 暗色模式 */
:root{
  --primary:#3b82f6; --bg:#f7f8fa; --card:#fff; --text:#1f2430; --text-muted:#6b7280;
  --border:#eaecf0; --radius:12px; --max-width:1100px;
}
[data-theme="dark"]{
  --bg:#111318; --card:#191c22; --text:#e5e7eb; --text-muted:#9aa1ae; --border:#262b34;
}
*{box-sizing:border-box;}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.7;transition:background .2s,color .2s;}
a{color:var(--primary);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;}
.container{max-width:var(--max-width);margin:0 auto;padding:0 16px;}

/* 头部导航 */
.site-header{background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:60px;}
.site-title{font-size:19px;font-weight:700;color:var(--text);}
.nav-menu{display:flex;gap:24px;list-style:none;margin:0;padding:0;}
.nav-menu a{color:var(--text-muted);font-size:14px;}
.nav-menu a:hover,.nav-menu a.active{color:var(--primary);text-decoration:none;}
.nav-dropdown{position:relative;display:flex;align-items:center;gap:2px;}
.nav-dropdown-trigger{display:flex;align-items:center;gap:4px;}
.nav-dropdown-arrow{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;}
.nav-dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.08);padding:6px;min-width:160px;z-index:50;}
.nav-dropdown-menu a{display:block;padding:7px 12px;border-radius:6px;font-size:13.5px;white-space:nowrap;}
.nav-dropdown-menu a:hover{background:var(--bg);}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{display:block;}
@media (min-width: 861px){
  .nav-dropdown-menu{display:none;}
  .nav-dropdown:hover .nav-dropdown-menu{display:block;}
}
.nav-right{display:flex;align-items:center;gap:14px;}
.theme-toggle{cursor:pointer;background:none;border:1px solid var(--border);border-radius:20px;padding:5px 12px;font-size:12px;color:var(--text-muted);}
.nav-toggle{display:none;background:none;border:none;font-size:20px;cursor:pointer;color:var(--text);}

/* 主体布局 */
.layout-grid{display:grid;grid-template-columns:1fr 300px;gap:28px;padding:28px 0;}
.main-col{min-width:0;}

/* 文章卡片 */
.post-card{background:var(--card);border-radius:var(--radius);padding:22px;margin-bottom:20px;border:1px solid var(--border);}
.post-card .post-title{font-size:19px;margin:0 0 8px;}
.post-card .post-title a{color:var(--text);}
.post-meta{font-size:12.5px;color:var(--text-muted);margin-bottom:10px;display:flex;gap:14px;flex-wrap:wrap;}
.post-excerpt{color:var(--text-muted);font-size:14px;}
.post-cover{width:100%;max-height:320px;object-fit:cover;border-radius:8px;margin-bottom:14px;}
.post-tags{margin-top:10px;}
.post-tags a{display:inline-block;background:rgba(59,130,246,.1);color:var(--primary);font-size:12px;padding:2px 10px;border-radius:12px;margin-right:6px;}
.pin-tag{display:inline-block;background:var(--text-muted);color:#fff;font-size:11px;padding:1px 7px;border-radius:3px;font-weight:normal;vertical-align:middle;}

/* 侧边栏 */
.widget{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:20px;}
.widget h3{font-size:14px;margin:0 0 12px;}
.widget ul{list-style:none;padding:0;margin:0;}
.widget li{padding:6px 0;font-size:13.5px;border-bottom:1px dashed var(--border);}
.widget li:last-child{border:none;}
.tag-cloud a{display:inline-block;margin:3px;padding:3px 10px;background:rgba(59,130,246,.08);border-radius:14px;font-size:12.5px;color:var(--primary);}

/* 文章详情 */
.article-detail{background:var(--card);border-radius:var(--radius);padding:32px;border:1px solid var(--border);}
.article-detail h1{font-size:26px;margin:0 0 14px;}
.article-content{font-size:15.5px;}
.article-content img{border-radius:8px;}
.article-content pre{background:#1e222b;color:#e5e7eb;padding:16px;border-radius:8px;overflow-x:auto;}
.article-content code{background:rgba(59,130,246,.08);padding:2px 6px;border-radius:4px;font-size:13px;}
.article-content pre code{background:none;padding:0;}
.article-content h2,.article-content h3{scroll-margin-top:80px;}
.toc-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:20px;font-size:13.5px;}
.toc-box a{display:block;padding:4px 0;color:var(--text-muted);}

/* 评论区 */
.comment-box{margin-top:30px;}
.comment-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);}
.comment-item img{width:38px;height:38px;border-radius:50%;}
.comment-children{margin-left:50px;}
.comment-form textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:12px;font-size:14px;background:var(--card);color:var(--text);}

/* 通用按钮/输入 */
.btn-primary{background:var(--primary);color:#fff;border:none;padding:9px 20px;border-radius:8px;cursor:pointer;font-size:13.5px;}
.form-control{width:100%;max-width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-size:13.5px;box-sizing:border-box;}
.pagination{display:flex;gap:6px;justify-content:center;margin:20px 0;}
.pagination a,.pagination span{padding:7px 13px;border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--text-muted);}
.pagination .active{background:var(--primary);color:#fff;border-color:var(--primary);}

/* 页脚 */
.site-footer{border-top:1px solid var(--border);padding:26px 0;margin-top:40px;text-align:center;color:var(--text-muted);font-size:12.5px;}

/* Cookie 弹窗 */
#cookieNotice{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--border);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:999;font-size:13px;flex-wrap:wrap;}

/* 响应式 */
@media (max-width: 860px){
  .layout-grid{grid-template-columns:1fr;}
  .nav-menu{position:fixed;top:60px;left:0;right:0;bottom:0;overflow-y:auto;background:var(--card);flex-direction:column;padding:14px 20px;border-bottom:1px solid var(--border);display:none;}
  .nav-menu.open{display:flex;}
  .nav-toggle{display:block;}
  .nav-dropdown{flex-direction:column;align-items:flex-start;width:100%;}
  .nav-dropdown-menu{position:static;box-shadow:none;border:none;padding:0 0 0 14px;width:100%;background:none;}
  .nav-dropdown.open .nav-dropdown-menu{display:block;}
  .nav-right{gap:10px;}
  .container{padding:0 14px;}
}
@media (max-width: 480px){
  .article-detail{padding:20px 16px;}
  .post-card{padding:16px;}
  .article-detail h1{font-size:21px;}
}
