:root{--paper:#f5f5ee;--ink:#233b32;--muted:#56675c;--line:#d5dbd0;--green:#18563d;--soft:#e6eddf}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 "PingFang SC","Microsoft YaHei",sans-serif}a{color:inherit;text-underline-offset:4px}header,main,footer{max-width:1180px;margin:auto;padding:0 32px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:90px;border-bottom:1px solid var(--line)}.wordmark{font:bold 20px/1.4 Georgia,serif;letter-spacing:1px;text-decoration:none}.wordmark span{font:14px sans-serif;letter-spacing:0;color:var(--muted)}nav{display:flex;gap:24px;font-size:14px}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:48px 0 38px}.eyebrow,.step{font-size:13px;letter-spacing:1px;color:var(--muted);margin:0 0 16px}h1{font-size:clamp(30px,4.2vw,48px);letter-spacing:-1.5px;line-height:1.25;margin:0 0 20px;font-weight:650}.intro p:last-child{color:var(--muted);margin-bottom:0}.stamp{border:1px solid var(--green);color:var(--green);padding:22px 32px;display:flex;flex-direction:column;gap:12px;min-width:160px;transform:rotate(3deg)}.stamp b{font-size:22px}.stamp span{font-size:14px;line-height:1.8}.workspace{border:1px solid var(--line);background:#fff;display:grid;grid-template-columns:340px minmax(0,1fr);border-radius:8px;overflow:hidden}.controls{background:var(--soft);padding:28px;border-right:1px solid var(--line)}label{display:block;font-size:14px;font-weight:600;margin:20px 0 6px}.file-label{margin-top:0}input[type=file]{width:100%;font-size:14px;padding:10px 0;overflow:hidden}input::file-selector-button{padding:8px;border:1px solid #869a87;border-radius:4px;background:white;color:var(--ink);margin-right:8px}select,button{width:100%;min-height:44px;border:1px solid #849481;border-radius:5px;font:inherit;font-size:14px;background:white;color:var(--ink);padding:9px 10px}button{cursor:pointer;background:var(--green);color:white;border-color:var(--green);font-weight:600;margin-top:24px;transition:background .15s}button:hover:enabled{background:#123c2c}button:disabled{background:#c4d0c1;border-color:#c4d0c1;color:#495848;cursor:not-allowed}.secondary{margin-top:8px;background:transparent;color:var(--ink);border-color:#8b9b85}.secondary:hover:enabled{background:#d7e3d2}.small{font-size:13px;color:var(--muted);margin-bottom:0}.result{padding:28px;min-width:0}.result-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.result-head span{font-size:12px;background:var(--soft);padding:3px 8px;border-radius:4px}#status{font-size:14px;overflow-wrap:anywhere;min-height:48px}#status.error{color:#a02c20}.table-wrap{overflow:auto;min-height:230px;border-block:1px solid var(--line);background:#fafbf7}table{width:100%;border-collapse:collapse;font-size:14px}caption{text-align:left;padding:12px;color:var(--muted);font-size:12px;caption-side:bottom}td{padding:12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:pre-wrap;min-width:100px;max-width:280px;overflow-wrap:anywhere}tr:first-child{background:#eef2e9;font-weight:600}.empty{height:185px;color:var(--muted);text-align:center;font-weight:400}.note{font-size:13px;color:var(--muted)}.offline{font-size:14px;font-weight:600;display:inline-block;margin-top:8px}.below{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:36px 0 42px}.below h2{font-size:20px;margin:0 0 12px}.below p{font-size:14px;color:var(--muted)}.support{display:inline-block;font-size:14px;font-weight:600;padding:8px 0}footer{padding-top:22px;padding-bottom:30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}:focus-visible{outline:3px solid #ba791e;outline-offset:4px}.article{max-width:820px;padding-top:36px;padding-bottom:48px}.article h1{font-size:36px}.article h2{font-size:22px;margin-top:32px}.article p,.article li{color:var(--muted)}.article code{background:var(--soft);padding:3px 6px;overflow-wrap:anywhere}@media(max-width:760px){header,main,footer{padding-left:20px;padding-right:20px}header{align-items:flex-start;padding-top:22px;padding-bottom:20px;flex-direction:column;gap:12px;min-height:0}.intro{padding:30px 0}.stamp{display:none}.workspace{grid-template-columns:1fr}.controls{border-right:0;border-bottom:1px solid var(--line)}.controls,.result{padding:22px}.below{grid-template-columns:1fr;gap:20px}footer{flex-direction:column}h1{letter-spacing:-.5px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
