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

:root {
  --color-bg: #faf8f5;
  --color-surface: #ffffff;
  --color-primary: #8b2500;
  --color-primary-light: #a0522d;
  --color-accent: #c41a1a;
  --color-text: #2c2416;
  --color-text-secondary: #6b5e4f;
  --color-border: #e0d5c7;
  --color-border-light: #ede7db;
  --color-tab-active: #8b2500;
  --color-tab-inactive: #9e8e7e;
  --color-tab-bg: #f5f0e8;
  --color-code-bg: #f5f0e8;
  --color-blockquote-border: #8b2500;
  --font-serif: 'Noto Serif SC', 'Songti SC', 'SimSun', serif;
  --font-sans: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:var(--font-serif); background:var(--color-bg); color:var(--color-text); line-height:1.9; font-size:16px; }

.site-header { background:linear-gradient(135deg,#3a0e0e 0%,#5c1a1a 40%,#8b2500 100%); color:#f5e6d0; position:sticky; top:0; z-index:100; box-shadow:0 2px 12px rgba(0,0,0,.15); }
.header-inner { max-width:960px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:12px 24px; }
.header-title { font-family:var(--font-sans); font-size:20px; font-weight:700; letter-spacing:4px; text-shadow:0 1px 4px rgba(0,0,0,.3); }
.header-title a { color:inherit; text-decoration:none; }
.header-subtitle { font-family:var(--font-sans); font-size:12px; opacity:.7; letter-spacing:2px; margin-top:2px; }

.breadcrumb { max-width:960px; margin:0 auto; padding:16px 24px 0; font-family:var(--font-sans); font-size:13px; color:var(--color-text-secondary); }
.breadcrumb a { color:var(--color-primary); text-decoration:none; }
.breadcrumb a:hover { color:var(--color-accent); }
.breadcrumb span { margin:0 6px; color:var(--color-border); }

.tab-nav { max-width:960px; margin:16px auto 0; padding:0 24px; display:flex; gap:4px; background:var(--color-tab-bg); border-radius:10px 10px 0 0; overflow:hidden; }
.tab-link { font-family:var(--font-sans); font-size:14px; font-weight:500; padding:12px 28px; text-decoration:none; color:var(--color-tab-inactive); background:transparent; border-radius:8px 8px 0 0; transition:all .25s; letter-spacing:1px; position:relative; }
.tab-link:hover { color:var(--color-primary); background:rgba(139,37,0,.06); }
.tab-link.active { color:#f5e6d0; background:linear-gradient(135deg,#5c1a1a,#8b2500); font-weight:700; box-shadow:0 2px 8px rgba(139,37,0,.2); }

.article-wrap { max-width:960px; margin:0 auto; padding:32px 24px 60px; }
.article-content { background:var(--color-surface); border:1px solid var(--color-border-light); border-radius:8px; padding:40px 48px; box-shadow:0 1px 6px rgba(0,0,0,.04); }

.article-content h1 { font-family:var(--font-sans); font-size:26px; font-weight:700; color:var(--color-primary); margin-bottom:16px; padding-bottom:12px; border-bottom:2px solid var(--color-border); }
.article-content h2 { font-family:var(--font-sans); font-size:20px; font-weight:600; color:var(--color-primary); margin:36px 0 14px; padding-left:12px; border-left:4px solid var(--color-primary); }
.article-content h3 { font-family:var(--font-sans); font-size:17px; font-weight:600; color:var(--color-text); margin:24px 0 10px; }
.article-content h4 { font-family:var(--font-sans); font-size:15px; font-weight:600; color:var(--color-text-secondary); margin:18px 0 8px; }
.article-content p { margin:12px 0; text-align:justify; }
.article-content blockquote { margin:16px 0; padding:12px 20px; border-left:4px solid var(--color-blockquote-border); background:var(--color-tab-bg); border-radius:0 6px 6px 0; color:var(--color-text-secondary); }
.article-content blockquote p { margin:4px 0; }
.article-content ul,.article-content ol { margin:12px 0; padding-left:28px; }
.article-content li { margin:4px 0; }
.article-content strong { color:var(--color-primary); font-weight:700; }
.article-content hr { border:none; border-top:1px solid var(--color-border); margin:28px 0; }

.article-content table { width:100%; border-collapse:collapse; margin:16px 0; font-size:14px; box-shadow:0 1px 4px rgba(0,0,0,.04); border-radius:6px; overflow:hidden; }
.article-content thead { background:linear-gradient(135deg,#5c1a1a 0%,#8b2500 100%); color:#f5e6d0; }
.article-content th { font-family:var(--font-sans); font-weight:600; padding:10px 14px; text-align:left; font-size:13px; letter-spacing:.5px; }
.article-content td { padding:9px 14px; border-bottom:1px solid var(--color-border-light); line-height:1.7; }
.article-content tbody tr:nth-child(even) { background:var(--color-tab-bg); }
.article-content tbody tr:hover { background:#efe8db; transition:background .15s; }
.article-content tbody tr:last-child td { border-bottom:none; }

.article-content code { font-family:'Sarasa Mono SC','Source Code Pro',monospace; background:var(--color-code-bg); padding:2px 6px; border-radius:3px; font-size:.9em; }
.article-content pre { background:#2c2416; color:#f5e6d0; padding:16px 20px; border-radius:6px; overflow-x:auto; margin:16px 0; }
.article-content pre code { background:none; color:inherit; padding:0; }

.toc { background:var(--color-tab-bg); border:1px solid var(--color-border-light); border-radius:6px; padding:16px 24px; margin-bottom:24px; }
.toc-title { font-family:var(--font-sans); font-weight:700; font-size:14px; color:var(--color-primary); margin-bottom:8px; letter-spacing:1px; }
.toc ul { list-style:none; padding-left:0; }
.toc li { padding:2px 0; }
.toc a { color:var(--color-text-secondary); text-decoration:none; font-size:13px; }
.toc a:hover { color:var(--color-primary); }
.toc ul ul { padding-left:20px; }

.site-footer { text-align:center; padding:24px; margin-top:40px; font-family:var(--font-sans); font-size:13px; color:var(--color-text-secondary); border-top:1px solid var(--color-border); background:var(--color-surface); letter-spacing:2px; }

@media(max-width:768px) {
  .article-content { padding:24px 20px; }
  .article-content h1 { font-size:22px; }
  .article-content h2 { font-size:18px; }
  .tab-link { padding:8px 16px; font-size:13px; }
  .article-content table { font-size:12px; }
  .article-content th,.article-content td { padding:6px 8px; }
}
@media print { .site-header,.tab-nav,.site-footer{display:none;} .article-content{box-shadow:none;border:none;padding:0;} }
