:root{
  --bg:#FFFFFF; --bg-soft:#F9FAFB; --text:#111827; --muted:#6B7280;
  --accent:#1E40AF; --border:#E5E7EB;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--text);background:var(--bg);line-height:1.7;font-size:16px}
a{color:var(--accent);text-decoration:none}
h1,h2,h3{line-height:1.3}

.site-header{border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;z-index:50}
.header-inner{max-width:1200px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:24px}
.brand{font-weight:700;font-size:20px;color:var(--text)}
.brand span{color:var(--accent)}
.main-nav{display:flex;gap:18px;flex:1}
.main-nav a{color:var(--text);font-size:15px}
.main-nav a:hover{color:var(--accent)}
.header-actions{display:flex;gap:8px}
button{cursor:pointer;border:none;background:var(--accent);color:#fff;padding:8px 16px;border-radius:6px;font-size:14px}
.qr-trigger{background:transparent;color:var(--accent);border:1px solid var(--accent)}

.hero{text-align:center;padding:72px 20px 48px;background:var(--bg-soft)}
.hero h1{font-size:38px;margin-bottom:12px}
.hero p{color:var(--muted);margin-bottom:28px}
.search-box{max-width:560px;margin:0 auto;display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.search-box input{flex:1;border:none;padding:14px 18px;font-size:16px;outline:none}
.hero-stats{display:flex;justify-content:center;gap:56px;margin-top:40px}
.hero-stats b{display:block;font-size:28px;color:var(--accent)}
.hero-stats span{color:var(--muted);font-size:14px}
.cats{max-width:1200px;margin:48px auto;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat-card{border:1px solid var(--border);border-radius:10px;padding:24px;color:var(--text);transition:.2s}
.cat-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.cat-card h3{margin-bottom:8px}
.cat-card p{color:var(--muted);font-size:14px}
.section{max-width:1200px;margin:0 auto;padding:24px 20px}
.news-list{list-style:none}
.news-list li{padding:8px 0;border-bottom:1px solid var(--border)}

.wiki-layout{max-width:1200px;margin:0 auto;padding:32px 20px;display:grid;gap:32px;grid-template-columns:220px 1fr}
.wiki-layout.three-col{grid-template-columns:220px 1fr 240px}
.wiki-sidebar{border-right:1px solid var(--border);padding-right:20px}
.wiki-sidebar h4{margin-bottom:12px}
.wiki-sidebar a{display:block;padding:8px 10px;color:var(--text);border-radius:6px;font-size:15px}
.wiki-sidebar a.active,.wiki-sidebar a:hover{background:var(--bg-soft);color:var(--accent)}
.wiki-toc{font-size:14px;color:var(--muted)}
.wiki-toc a{display:block;color:var(--muted);padding:3px 0;font-size:13px}
.wiki-toc a:hover{color:var(--accent)}
.article-body{max-width:720px}
.article-body h2{margin:28px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.article-body h3{margin:20px 0 8px}
.article-body table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14px}
.article-body th,.article-body td{border:1px solid var(--border);padding:8px 12px;text-align:left}
.article-body th{background:var(--bg-soft)}
.article-body code{background:var(--bg-soft);padding:2px 6px;border-radius:4px}
.list-item{padding:20px 0;border-bottom:1px solid var(--border)}
.page-content{max-width:820px;margin:0 auto;padding:40px 20px}

.lead-section{max-width:1200px;margin:48px auto;padding:32px 20px;background:var(--bg-soft);border-radius:12px}
.lead-form{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.lead-form input,.lead-form select{flex:1 1 180px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}
.lead-msg{width:100%;color:var(--accent);font-size:14px}

.qr-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100;align-items:center;justify-content:center}
.qr-modal.show{display:flex}
.qr-box{background:#fff;border-radius:12px;padding:24px;text-align:center;position:relative;max-width:320px}
.qr-box img{width:240px;height:240px;object-fit:contain;display:block;margin:12px auto 0}
.qr-close{position:absolute;top:8px;right:14px;font-size:24px;cursor:pointer;color:var(--muted)}

.site-footer{border-top:1px solid var(--border);padding:24px 20px;text-align:center;color:var(--muted);font-size:14px}
.site-footer nav{margin-top:8px}
.site-footer a{color:var(--muted);margin:0 4px}

.admin-login{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-soft)}
.login-form{background:#fff;border:1px solid var(--border);border-radius:12px;padding:40px;width:360px}
.login-form h1{font-size:20px;margin-bottom:20px}
.login-form input{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;margin-bottom:12px}
.login-form button{width:100%}

.admin{display:flex;min-height:100vh;background:var(--bg-soft)}
.admin-side{width:220px;background:#fff;border-right:1px solid var(--border);padding:20px}
.admin-side h2{font-size:16px;margin-bottom:16px}
.admin-side nav a{display:block;padding:10px;color:var(--text);cursor:pointer;border-radius:6px}
.admin-side nav a:hover{background:var(--bg-soft);color:var(--accent)}
.admin-side > a{display:block;margin-top:16px;color:var(--muted);font-size:14px}
.admin-main{flex:1;padding:32px}
.admin-main h2{margin-bottom:16px}
.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:16px}
.card h3{margin-bottom:12px}
input,select,textarea{font-family:inherit}
.field{margin-bottom:16px}
.field label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px}
textarea{min-height:200px;font-family:monospace}
.btn{background:var(--accent);color:#fff;border:none;padding:10px 18px;border-radius:6px;cursor:pointer;font-size:14px}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
table.tbl th,table.tbl td{border:1px solid var(--border);padding:8px 10px;text-align:left}
table.tbl th{background:var(--bg-soft)}
.err{color:#dc2626}
@media(max-width:900px){
  .wiki-layout,.wiki-layout.three-col{grid-template-columns:1fr}
  .wiki-toc{display:none}
  .cats{grid-template-columns:1fr 1fr}
  .main-nav{display:none}
}
