:root{--paper:#fff;--tint:#f5f7f9;--ink:#16324f;--ink-2:#5b6b7c;--hair:#d6dde4;--rule:#16324f;--red:#d64545;--green:#1b6b4a;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:15px/1.8 var(--sans);margin:0}a{color:var(--ink);text-decoration-color:var(--red);text-underline-offset:3px}.wrap{max-width:1020px;margin:0 auto;padding:0 22px}.top{border-bottom:3px double var(--rule)}.top .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;padding:15px 22px;display:flex}.brand{color:var(--ink);letter-spacing:.03em;white-space:nowrap;font-weight:700;text-decoration:none}.brand em{font-style:normal;font-family:var(--mono);color:var(--red);margin-right:8px}.top nav{gap:18px;font-size:13.5px;display:flex}.top nav a{color:var(--ink-2);text-decoration:none}.top nav a:hover{color:var(--red)}.hero{padding:44px 0 24px}.kicker{letter-spacing:.2em;color:var(--ink-2);margin:0 0 11px;font-size:11.5px}.hero h1{margin:0 0 12px;font-size:clamp(26px,4.3vw,40px);font-weight:700;line-height:1.24}.hero h1 em{color:var(--red);font-style:normal}.hero p{max-width:58ch;color:var(--ink-2);margin:0}.card{border:1px solid var(--hair);background:var(--paper);margin:0 0 16px;padding:20px 22px 24px}.card h2{letter-spacing:.04em;margin:0 0 3px;font-size:14.5px;font-weight:700}.card .sub{color:var(--ink-2);margin:0 0 14px;font-size:13px}.g4{grid-template-columns:repeat(4,1fr);gap:0 14px;display:grid}.g3{grid-template-columns:repeat(3,1fr);gap:0 14px;display:grid}.g2{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}@media (width<=760px){.g4,.g3{grid-template-columns:1fr 1fr}}@media (width<=440px){.g4,.g3,.g2{grid-template-columns:1fr}}label{color:var(--ink-2);margin:11px 0 0;font-size:12.5px;display:block}label span.q{margin-bottom:4px;display:block}input,select,textarea{border:1px solid var(--hair);width:100%;color:var(--ink);font:14.5px/1.4 var(--mono);background:#fff;border-radius:0;padding:8px 9px}textarea{resize:vertical;min-height:88px;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:0}.read{border:1px solid var(--hair);border-left:4px solid var(--ink);background:var(--tint);margin:0 0 14px;padding:18px 22px}.read .big{font:700 clamp(19px,3.2vw,26px)/1.45 var(--sans);margin:0 0 7px}.read .big b{font-family:var(--mono)}.read .big .up{color:var(--red)}.read .big .down{color:var(--green)}.read .warn{color:var(--red);margin:8px 0 0;font-size:14px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border:1px solid var(--hair);text-align:right;padding:9px 12px}th:first-child,td:first-child{text-align:left}thead th{background:var(--tint);letter-spacing:.04em;font-size:12.5px;font-weight:700}td.n{font-family:var(--mono);font-variant-numeric:tabular-nums}td.n.up{color:var(--red)}td.n.down{color:var(--green)}tr.sum td{border-top:2px solid var(--rule);font-weight:700}.tscroll{overflow-x:auto}.tscroll table{min-width:460px}.gap{border:1px solid var(--hair);margin:14px 0 0;padding:18px 22px}.gap h3{margin:0 0 8px;font-size:15px;font-weight:700}.gap .num{font:700 clamp(20px,3.4vw,28px)/1.3 var(--mono);color:var(--red)}.gap ol{color:var(--ink-2);margin:10px 0 0;padding-left:20px;font-size:14px}.gap li{margin:5px 0}.alerts{margin:14px 0 0}.alert{border:1px solid var(--hair);border-left:4px solid var(--ink-2);margin:0 0 10px;padding:14px 20px;font-size:14px}.alert[data-l=stop]{border-left-color:var(--red);background:#fdf3f3}.alert[data-l=warn]{background:#fcf8ec;border-left-color:#b5850b}.alert[data-l=info]{border-left-color:var(--ink)}.alert h3{margin:0 0 5px;font-size:14.5px;font-weight:700}.alert p{color:var(--ink-2);margin:0}.miss{border:1px solid var(--hair);border-left:4px solid var(--red);color:var(--ink-2);margin:0 0 14px;padding:16px 20px;font-size:14px}.src{color:var(--ink-2);margin:20px 0 0;font-size:12.5px}.prose{max-width:66ch;padding:8px 0 56px}.prose h2{margin:26px 0 8px;font-size:18px;font-weight:700}.prose h3{color:var(--red);margin:20px 0 6px;font-size:14.5px;font-weight:700}.prose li{margin:5px 0}.prose code{font:13px var(--mono);background:var(--tint);padding:1px 5px}.prose blockquote{border-left:3px solid var(--hair);color:var(--ink-2);margin:12px 0;padding:9px 0 9px 15px;font-size:14px}footer{border-top:3px double var(--rule);color:var(--ink-2);margin-top:26px;padding:20px 0 44px;font-size:12.5px}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:10px 24px;display:flex}.big404{font:700 clamp(56px,14vw,130px)/1 var(--mono);color:var(--hair);margin:16px 0 0}
