:root {
  --brand: #1f4e79;
  --brand-dark: #16385a;
  --accent: #2f7bd8;
  --bg-soft: #f4f7fb;
}
body { font-family: "Microsoft YaHei", "PingFang SC", sans-serif; color: #2b3440; }
.site-nav { background: linear-gradient(90deg, var(--brand-dark), var(--brand)); }
.brand-dot { display:inline-block; width:10px; height:10px; border-radius:50%;
  background:#5ac8fa; margin-right:8px; box-shadow:0 0 8px #5ac8fa; }
.hero { background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand) 55%, #2a6396 100%);
  color:#fff; padding: 72px 0 84px; }
.hero h1 { font-weight: 700; letter-spacing: 1px; }
.hero p.lead { color:#cfe0f2; }
.btn-brand { background: var(--accent); color:#fff; border:none; }
.btn-brand:hover { background:#2465b5; color:#fff; }
.btn-outline-light-brand { border:1px solid rgba(255,255,255,.6); color:#fff; }
.btn-outline-light-brand:hover { background:rgba(255,255,255,.12); color:#fff; }
.feature-card { border:1px solid #e3eaf3; border-radius:12px; padding:24px 20px; height:100%;
  background:#fff; transition: box-shadow .2s, transform .2s; }
.feature-card:hover { box-shadow:0 8px 24px rgba(31,78,121,.12); transform:translateY(-2px); }
.feature-card .ico { font-size:26px; }
.section-soft { background: var(--bg-soft); }
.step-num { display:inline-flex; width:30px; height:30px; border-radius:50%;
  background:var(--brand); color:#fff; align-items:center; justify-content:center;
  font-weight:600; margin-right:10px; flex:none; }
.doc-layout .doc-toc { font-size:.9rem; max-height:80vh; overflow:auto; position:sticky; top:16px; }
.doc-content h2 { color: var(--brand); border-bottom:2px solid #e3eaf3; padding-bottom:.3em; margin-top:2rem; }
.doc-content h3 { color: var(--brand-dark); margin-top:1.5rem; }
.doc-content pre { background:#0f1c2e; color:#dbe7f5; padding:14px 16px; border-radius:8px; overflow:auto; }
.doc-content code { color:#c7254e; background:#f6f2f4; padding:1px 5px; border-radius:4px; }
.doc-content pre code { color:inherit; background:none; padding:0; }
.hilite { background:#0f1c2e; }
.hilite .k, .hilite .kn, .hilite .ow { color:#6ab0f3; }
.hilite .s, .hilite .s1, .hilite .s2 { color:#9ad58a; }
.hilite .c, .hilite .c1, .hilite .ch { color:#7d8b9d; font-style:italic; }
.hilite .nf, .hilite .fm { color:#ffd479; }
.hilite .mi, .hilite .mf { color:#f2a4c0; }
.qr-box { border:1px solid #e3eaf3; border-radius:12px; padding:16px; text-align:center; background:#fff; }
.qr-box img { max-width:200px; width:100%; }
.machine-tip { background:#eef4fb; border:1px dashed #b9d0ea; border-radius:8px; padding:12px 14px; font-size:.92rem; }
.admin-table td, .admin-table th { font-size:.9rem; vertical-align:middle; }
.site-footer { background:#12263c; color:#9fb2c8; margin-top:60px; }
.footer-link { color:#cfe0f2; text-decoration:none; }
.footer-link:hover { color:#fff; }
