:root{
  --brand:#2563eb; --brand-d:#1d4ed8; --ink:#111827; --ink2:#374151; --dim:#6b7280;
  --line:#e5e7eb; --bg:#ffffff; --soft:#f8fafc; --hl:#eff6ff; --good:#0f9d58; --warn:#b45309;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
.wrap{max-width:900px;margin:0 auto;padding:0 16px}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
h1{font-size:1.65rem;line-height:1.4;margin:20px 0 12px;letter-spacing:-.2px}
h2{font-size:1.2rem;margin:28px 0 12px;padding-left:10px;border-left:4px solid var(--brand)}
h3{font-size:1.05rem;margin:20px 0 8px}
p{margin:10px 0}
code{background:var(--soft);padding:2px 6px;border-radius:4px;font-size:.9em;color:var(--brand-d)}
.dim{color:var(--dim);font-size:.9rem}
.lead{color:var(--ink2);font-size:1.02rem}

/* 导航 */
.nav{background:#0f172a;color:#fff}
.nav .wrap{display:flex;flex-wrap:wrap;gap:2px;padding:0 16px}
.nav a{color:#cbd5e1;font-size:.9rem;padding:12px 10px;display:inline-block}
.nav a:hover,.nav a.hi{color:#fff;text-decoration:none}
.nav .brand{font-weight:700;color:#fff;margin-right:6px}
@media(max-width:640px){.nav a{padding:10px 7px;font-size:.82rem}.nav .brand{flex-basis:100%}}

/* 面包屑 */
.crumbs{font-size:.85rem;color:var(--dim);margin:14px 0}
.crumbs i{margin:0 6px;font-style:normal;color:#cbd5e1}
.crumbs a{color:var(--dim)}

/* 文章表格 */
.tbl{width:100%;border-collapse:collapse;margin:14px 0;font-size:.92rem}
.tbl caption{caption-side:top;text-align:left;color:var(--dim);font-size:.85rem;padding-bottom:6px}
.tbl th,.tbl td{border:1px solid var(--line);padding:9px 10px;text-align:right}
.tbl th{background:var(--soft);text-align:center;font-weight:600;white-space:nowrap}
.tbl td:first-child,.tbl th:first-child{text-align:left}
.tbl tr.hl td{background:var(--hl);font-weight:600}
.tbl tr.sum td{background:#fff7ed;font-weight:700}
.tbl.small{font-size:.85rem}
.tbl small{color:var(--dim);font-weight:400}
.tip{background:var(--hl);border-left:3px solid var(--brand);padding:10px 12px;border-radius:0 6px 6px 0;font-size:.93rem}
.save{color:var(--good);font-weight:700}
.note{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px 14px;margin:16px 0;font-size:.92rem;color:#78350f}
.note strong{color:#92400e}
.hot{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px 16px;margin:16px 0}
.hot h3{margin-top:0;color:#15803d}
.hot ul{margin:8px 0;padding-left:20px}

/* 计算器 */
.calc{margin:16px 0 22px}
.calcbox{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:16px}
.ctitle{margin:0 0 12px;font-size:1.05rem}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
@media(max-width:560px){.fields{grid-template-columns:1fr}}
.f{display:flex;flex-direction:column;gap:4px}
.f label{font-size:.85rem;color:var(--ink2)}
.f input,.f select{height:40px;border:1px solid var(--line);border-radius:6px;padding:0 10px;font-size:1rem;background:#fff;width:100%}
.f input:focus,.f select:focus{outline:2px solid #bfdbfe;border-color:var(--brand)}
.u{position:absolute;font-size:.8rem;color:var(--dim)}
.f .u{position:static;margin-left:-2px;font-size:.8rem}
.ck{display:flex;align-items:center;gap:6px;height:40px}
.res{margin-top:14px}
.rt{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rt td,.rt th{padding:9px 12px;border-bottom:1px solid var(--line);font-size:.94rem}
.rt td:last-child{text-align:right;font-weight:600}
.rt tr.hl td{background:var(--hl)}
.rt tr.hl td:last-child{color:var(--brand-d)}
.rt.cmp{margin-top:8px}
.rt.cmp th{background:#f1f5f9;text-align:center;font-size:.85rem}
.rt.cmp td:not(:first-child){text-align:right}
.res details{margin-top:10px}
.res summary{cursor:pointer;font-size:.9rem;color:var(--brand);padding:6px 0}
.hint{font-size:.85rem;color:var(--dim);margin:10px 0 0}
.citytip{grid-column:1/-1;font-size:.85rem;color:var(--dim);margin:2px 0 0}
.err{color:#b91c1c;font-size:.9rem}

details{background:#fff}
details summary{cursor:pointer;font-weight:600;padding:8px 0}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq details p{color:var(--ink2);font-size:.95rem}
.faq summary{font-weight:600;font-size:.98rem}
.sched{margin:14px 0;border:1px solid var(--line);border-radius:8px;padding:0 14px;background:#fff}
.sched summary{padding:12px 0}
.sched .tbl{max-height:420px;display:block;overflow:auto}

/* 卡片与链接组 */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
@media(max-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{display:block;border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center;color:var(--ink);background:#fff}
.card:hover{border-color:var(--brand);text-decoration:none;box-shadow:0 2px 10px rgba(37,99,235,.1)}
.card.pri{border-color:#bfdbfe;background:var(--hl)}
.card .ico{font-size:1.6rem;display:block}
.card strong{display:block;margin-top:6px}
.card .sub{display:block;font-size:.82rem;color:var(--dim);margin-top:2px}
.card .tag{font-size:.72rem;color:#fff;background:var(--brand);border-radius:4px;padding:1px 6px;font-style:normal}
.card.pri .tag{background:var(--brand)}
.pill{list-style:none;padding:0;margin:10px 0;display:flex;flex-wrap:wrap;gap:8px}
.pill li a{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.88rem;background:#fff}
.pill li a:hover{border-color:var(--brand);background:var(--hl);text-decoration:none}
.pill.big li a{padding:8px 16px;font-size:.95rem}
.rel{margin:22px 0}
.rel h3{font-size:1rem;color:var(--ink2)}

/* 文章体系：正文 / 列表 / 上下篇 */
.ameta{color:var(--dim);font-size:.86rem;margin:6px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.post p{color:var(--ink2);font-size:1rem;line-height:1.85}
.post ul,.post ol{color:var(--ink2);padding-left:22px}
.post li{margin:6px 0}
.post blockquote{margin:14px 0;padding:10px 14px;background:var(--soft);
  border-left:3px solid var(--brand);color:var(--ink2);border-radius:0 6px 6px 0}
.post code{font-size:.88em}
.acalc{margin:24px 0}
.acalc h2{margin-bottom:4px}
.src{font-size:.86rem;color:var(--dim);border-left:3px solid #cbd5e1;padding-left:10px;margin:16px 0}
.pnav{display:flex;justify-content:space-between;gap:12px;margin:26px 0 6px}
.pn{flex:1;display:block;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:.9rem;background:#fff}
.pn:hover{border-color:var(--brand);text-decoration:none}
.pn.r{text-align:right}
.back{font-size:.9rem;margin:10px 0 0}
.plist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
@media(max-width:640px){.plist{grid-template-columns:1fr}}
.pitem{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);
  border-radius:10px;padding:14px;color:var(--ink);background:#fff}
.pitem:hover{border-color:var(--brand);text-decoration:none;box-shadow:0 2px 10px rgba(37,99,235,.08)}
.pitem strong{font-size:1rem;line-height:1.5}
.pdate{font-size:.78rem;color:var(--dim)}
.psum{font-size:.88rem;color:var(--dim);line-height:1.6}
.ptags{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.ptags i{font-style:normal;font-size:.74rem;color:var(--brand-d);background:var(--hl);border-radius:4px;padding:1px 7px}

/* 页脚 */
.foot{margin-top:36px;background:#0f172a;color:#94a3b8;padding:22px 0;font-size:.88rem}
.foot strong{color:#e2e8f0}
.foot .links{margin-top:8px;display:flex;flex-wrap:wrap;gap:10px}
.foot .links a{color:#94a3b8}
.foot .links a:hover{color:#fff}

/* 省 → 市 折叠导航 */
.arealist{margin:10px 0 18px;border:1px solid var(--line);border-radius:10px;padding:4px 14px;background:#f8fafc}
.adm{border-bottom:1px dashed var(--line)}
.adm:last-child{border-bottom:none}
.adm summary{cursor:pointer;padding:9px 0;font-weight:600;font-size:.95rem;list-style:none;display:flex;align-items:center;gap:6px}
.adm summary::-webkit-details-marker{display:none}
.adm summary::before{content:"▸";color:var(--brand);font-size:.8rem;transition:transform .15s}
.adm[open] summary::before{content:"▾"}
.adm summary .dim{font-weight:400}
.adm summary a{color:var(--ink)}
.adm summary a:hover{color:var(--brand)}
.adm .pill{margin:2px 0 12px}
.adm .pill li a{font-size:.85rem;padding:4px 10px}
