:root{
  --navy:#16335c; --navy2:#0f2444; --orange:#e8632a; --orange2:#ff7d3d;
  --green:#1f9d55; --yellow:#e8a32a; --ink:#16202c; --muted:#6b7686;
  --line:#eaeef4; --bg:#f4f6fa; --card:#ffffff;
  --shadow:0 6px 22px rgba(22,51,92,.08); --radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;padding-bottom:30px;}
.wrap{max-width:540px;margin:0 auto;padding:0 16px;}

.topbar{position:sticky;top:0;z-index:50;backdrop-filter:saturate(180%) blur(10px);background:rgba(255,255,255,.85);border-bottom:1px solid var(--line);}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:50px;}
.brand{font-weight:800;font-size:15px;color:var(--navy);letter-spacing:.3px;}
.brand b{color:var(--orange);}
.topbar a.toc{font-size:13px;font-weight:700;color:var(--orange);text-decoration:none;}

.switcher{position:sticky;top:50px;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.switcher .wrap{display:flex;gap:8px;overflow-x:auto;padding:10px 16px;}
.switcher a{white-space:nowrap;font-size:12.5px;font-weight:700;color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;}
.switcher a.on{color:#fff;background:var(--navy);border-color:var(--navy);}
.switcher a:hover{color:var(--orange);}
.grp{display:flex;align-items:center;gap:10px;padding:9px 16px 3px;}
.grp span{font-size:11px;font-weight:800;color:var(--orange);letter-spacing:1px;white-space:nowrap;}
.grp i{flex:1;height:1px;background:var(--line);font-style:normal;}

.hero{background:linear-gradient(160deg,var(--navy),var(--navy2));color:#fff;padding:28px 0 30px;}
.hero h1{font-size:22px;font-weight:800;letter-spacing:.3px;}
.hero p{font-size:14px;color:#dbe6f5;margin-top:8px;line-height:1.7;}
.hero a{color:#ffd9c7;}

section{padding:24px 0 4px;}
.sec-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.sec-head .idx{font-size:12px;font-weight:800;color:#fff;background:var(--orange);border-radius:7px;padding:2px 8px;}
.sec-head h2{font-size:18px;font-weight:800;color:var(--navy);}
.lead{font-size:14px;color:#415066;margin-bottom:12px;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);}
.card+.card{margin-top:12px;}
.card h3{font-size:15px;color:var(--navy);margin-bottom:6px;}
.card p{font-size:13.5px;color:#3b4757;}

.modgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;}
.mod{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow);text-decoration:none;display:block;color:inherit;}
.mod .n{font-size:12px;font-weight:800;color:var(--orange);}
.mod h3{font-size:15px;color:var(--navy);margin:4px 0 6px;}
.mod p{font-size:12px;color:var(--muted);line-height:1.5;}

table{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0;background:#fff;border-radius:12px;overflow:hidden;box-shadow:var(--shadow);}
th,td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top;}
th{background:var(--navy);color:#fff;font-weight:700;}
td b{color:var(--navy);}
tr:nth-child(even) td{background:#fafbfd;}

pre{background:#0f2444;color:#e8eef7;padding:12px 14px;border-radius:12px;overflow-x:auto;font-size:12px;line-height:1.6;font-family:ui-monospace,Menlo,Consolas,monospace;margin:8px 0;}
code{background:#eef2f8;color:#16335c;padding:1px 5px;border-radius:5px;font-size:12.5px;font-family:ui-monospace,Menlo,Consolas,monospace;}

.note{border-left:4px solid var(--navy);background:#f0f4f9;border-radius:0 10px 10px 0;padding:10px 12px;font-size:13px;color:#3b4757;margin:10px 0;}
.note.warn{border-left-color:var(--orange);background:#fff6f2;color:#9a4a25;}
.note.ok{border-left-color:var(--green);background:#f0faf3;color:#1c7a44;}

.sop{position:relative;padding-left:30px;}
.sop::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--orange),var(--navy));}
.step{position:relative;padding:0 0 14px 4px;}
.step:last-child{padding-bottom:0;}
.step .dot{position:absolute;left:-29px;top:1px;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px #fff;}
.step .dot.o{background:var(--orange);}
.step h3{font-size:14.5px;color:var(--navy);font-weight:700;}
.step p{font-size:12.5px;color:var(--muted);margin-top:2px;}

.chk{list-style:none;font-size:13px;margin:6px 0;}
.chk li{padding:7px 0;border-bottom:1px dashed var(--line);display:flex;gap:8px;align-items:flex-start;}
.chk li:last-child{border-bottom:none;}
.chk .box{width:18px;height:18px;border:2px solid var(--navy);border-radius:5px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;font-weight:800;margin-top:1px;}
.chk .box.x{border-color:var(--orange);}

.pn{display:flex;gap:10px;margin-top:20px;}
.pn a{flex:1;text-align:center;text-decoration:none;font-weight:700;font-size:13px;padding:11px;border-radius:12px;}
.pn .prev{background:#fff;border:1px solid var(--line);color:var(--navy);}
.pn .next{background:var(--orange);color:#fff;}
.pn .disabled{opacity:.4;pointer-events:none;}

footer{text-align:center;color:var(--muted);font-size:11.5px;margin-top:26px;line-height:1.7;}
footer a{color:var(--orange);text-decoration:none;}

/* ---- 分组导航（目录页大卡片）---- */
.grphero{margin:26px 0 10px;}
.grphero .tag{display:inline-block;font-size:11px;font-weight:800;color:#fff;background:var(--navy);border-radius:6px;padding:3px 9px;letter-spacing:1px;}
.grphero h2{font-size:17px;color:var(--navy);margin:8px 0 4px;}
.grphero p{font-size:12.5px;color:var(--muted);}

/* ---- 面试问答块 ---- */
.qa{background:linear-gradient(160deg,#0f2444,#1d4478);color:#fff;border-radius:16px;padding:16px 16px 14px;margin-top:12px;box-shadow:var(--shadow);}
.qa .qlab{display:inline-block;font-size:11px;font-weight:800;color:#ffd9c7;background:rgba(232,99,42,.28);border-radius:6px;padding:3px 9px;letter-spacing:.5px;}
.qa h3{font-size:15px;color:#fff;margin:10px 0 6px;}
.qa p{font-size:13px;color:#dbe6f5;line-height:1.72;}
.qa .qs{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.22);}
.qa .qs b{color:#ffc9b0;}

/* ---- 模板 /清单块 ---- */
.tpl{background:#fbfcfe;border:1px dashed var(--navy);border-radius:12px;padding:12px 14px;margin:10px 0;font-size:13px;color:#3b4757;}
.tpl .th2{font-size:12px;font-weight:800;color:var(--navy);letter-spacing:.5px;margin-bottom:6px;}
.tpl ol,.tpl ul{margin-left:18px;}
.tpl li{margin:3px 0;}
.tpl .fill{color:var(--orange);font-weight:700;}

/* ---- 小标签行 ---- */
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.tags i{font-style:normal;font-size:11px;font-weight:700;color:var(--navy);background:#eef2f8;border:1px solid var(--line);border-radius:6px;padding:3px 8px;}

/* ---- 贯穿全部的红线 ---- */
.redline{border-left:4px solid #d32f2f;background:#fdeeee;border-radius:0 10px 10px 0;padding:10px 12px;font-size:13px;color:#7a2020;margin:10px 0;}
.redline b{color:#d32f2f;}

/* ---- 项目锚点块 ---- */
.anchor{background:#fff8f4;border:1px solid #f4d9c8;border-radius:14px;padding:13px 15px;margin:0 0 4px;}
.anchor .lab{font-size:11px;font-weight:800;color:var(--orange);letter-spacing:1px;margin-bottom:5px;}
.anchor p{font-size:13px;color:#3b4757;line-height:1.7;}
.anchor a{color:var(--orange);font-weight:700;text-decoration:none;}

/* ---- 「下一步」链接块 ---- */
.nextup{display:flex;align-items:center;gap:10px;background:var(--navy);color:#fff;border-radius:12px;padding:12px 14px;margin-top:12px;text-decoration:none;}
.nextup .lab{font-size:10.5px;font-weight:800;color:#ffd9c7;letter-spacing:1px;display:block;}
.nextup .t{font-size:13.5px;font-weight:700;margin-top:2px;display:block;}
.nextup:hover{background:var(--navy2);}

/* ---- 前后篇导航（带组名）---- */
.pn .grp-l{display:block;font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.5px;}

/* ---- 目录页分组进度 ---- */
.tier{margin-top:14px;}
.tier .th3{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.tier .th3 i{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:var(--orange);border-radius:5px;padding:2px 7px;}
