:root{font-family:Inter,"Noto Sans SC",system-ui,sans-serif;color:#193147;background:#f4f7fb;font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:#2769b5;text-decoration:none}button,a,input,textarea,select{font:inherit}header{background:white;border-bottom:1px solid #dfe7ef;padding:22px max(5vw,20px);display:flex;justify-content:space-between;align-items:center}header strong{font-size:20px}header nav{display:flex;gap:24px}main{max-width:1160px;margin:44px auto;padding:0 24px}h1{font-size:38px;letter-spacing:-1px;margin:14px 0}h2{font-size:20px;margin-top:0}p{line-height:1.8}.eyebrow{color:#3473b7;font-size:12px;letter-spacing:2px}.lead{color:#60758b;max-width:760px}.grid{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;margin-top:32px}.card,.doc{background:white;border:1px solid #dee7ef;border-radius:16px;padding:28px;margin-bottom:22px;box-shadow:0 8px 30px #203e6505}.drop{display:block;border:1px dashed #94b7da;background:#f7fbff;border-radius:12px;padding:32px 18px;margin:24px 0;text-align:center}.drop input{display:block;margin:18px auto;max-width:100%}.muted,small{color:#64788b;line-height:1.7}button,.button{display:inline-block;background:#2465a6;color:white;border:0;border-radius:8px;padding:12px 20px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#eaf1f8;color:#255b91}.consent{display:flex;gap:10px;font-size:13px;line-height:1.8;margin-bottom:20px;align-items:flex-start}.consent input{margin-top:5px}input,select,textarea{border:1px solid #ccd9e5;border-radius:6px;padding:10px;background:white;color:#193147}textarea{width:100%;min-height:90px}#notice{color:#af3d24;white-space:pre-wrap}.job{padding:16px 0;border-bottom:1px solid #e8eef4;display:flex;gap:12px;justify-content:space-between;align-items:center}.job button{padding:8px 12px;font-size:13px}.badge{font-size:12px;color:#4275a4}.empty{padding:48px 10px;text-align:center;color:#7990a5}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.9 system-ui;background:#f6f9fc;padding:20px;border-radius:10px;max-height:650px;overflow:auto}.links{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.links a{background:#edf4fb;border-radius:6px;padding:9px 12px;font-size:13px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters input{max-width:180px}table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:12px;text-align:left;border-bottom:1px solid #e2eaf1;overflow-wrap:anywhere}.scroll{overflow:auto}footer{max-width:1160px;margin:30px auto;padding:20px 24px;color:#728399;font-size:12px}#detail{scroll-margin-top:20px}.doc{max-width:960px}h3{margin-top:28px}code{overflow-wrap:anywhere}@media(max-width:760px){.grid{grid-template-columns:1fr}h1{font-size:29px}main{margin-top:28px;padding:0 16px}.card{padding:20px}header nav{gap:12px;font-size:12px}.filters{display:grid;grid-template-columns:1fr 1fr}.filters input{width:100%}header strong{font-size:16px}}
.grid>*{min-width:0}.drop input{width:100%;min-width:0}.job>div{min-width:0;overflow-wrap:anywhere}.job button{flex-shrink:0}@media(max-width:760px){.grid{grid-template-columns:minmax(0,1fr)}header{flex-wrap:wrap;gap:14px}header nav{width:100%;justify-content:space-between}.consent span{min-width:0}h1{font-size:28px}}

/* WeChat tools common visual tokens, revision 1. */
:root{--tool-primary:#4163ed;--tool-ink:#202a43;--tool-muted:#72809a;--tool-surface:#fff;--tool-bg:#f7f9fc;--tool-border:#e8ecf3}body{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--tool-ink);background-color:var(--tool-bg)}input,select,textarea{border-radius:8px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #4163ed66;outline-offset:3px}button.primary,.button.primary{background-color:var(--tool-primary);border-color:var(--tool-primary);color:#fff}@media(max-width:640px){table{max-width:100%}.table-wrap{overflow:auto}input,select,textarea{max-width:100%}}

/* Visitor typography: explicit Chinese fallback and stable mobile inputs. */
body{font-family:Arial,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
h1,h2{line-height:1.35}
@media(max-width:760px){textarea,input:not([type="file"]),select{font-size:16px}}
