:root{color-scheme:light;--ink:#142c40;--muted:#526879;--accent:#006d86;--line:#d7e2e9;--bg:#f1f5f8;--surface:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.6}header{padding:22px max(24px,calc((100vw - 1080px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;gap:13px;align-items:center}.brand-mark{background:var(--ink);color:white;font-size:21px;font-weight:750;letter-spacing:-1px;border-radius:10px;width:46px;height:46px;display:grid;place-items:center}.brand strong{font-size:20px;letter-spacing:-.6px}.brand-caption{font-size:14px;display:block;color:var(--muted)}.local-badge{font-size:14px;display:flex;align-items:center;gap:8px}.local-badge i{width:7px;height:7px;background:#00866e;border-radius:50%}main{max-width:1080px;margin:auto;padding:34px 24px 24px}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent);font-weight:700;margin:0 0 8px}h1{font-size:clamp(24px,3vw,32px);line-height:1.35;margin:0 0 10px;letter-spacing:-1px}.intro p:last-child{color:var(--muted);margin:0}.range-note{font-size:25px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.range-note span{font-size:14px}.range-note small{display:block}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px}.tabs button{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:13px 23px;color:var(--muted)}.tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent);font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}h2{font-size:17px;margin:0;font-weight:650}h2 span{font-size:12px;color:var(--accent);margin-right:10px;font-variant-numeric:tabular-nums}.muted,small,.hint,.action-hint{color:var(--muted);font-size:14px}small{display:block;margin-top:6px}.drop-zone{border:1px dashed #a2bdcc;background:#f8fbfd;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:6px;min-height:168px;padding:18px;position:relative;flex-direction:column;text-align:center;cursor:pointer}.drop-zone:hover,.drop-zone.drag-over{background:#e9f5f8;border-color:var(--accent)}.drop-zone:focus-within{outline:3px solid #59adcf;outline-offset:3px}.drop-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-icon{font-size:28px;color:var(--accent);line-height:1.1}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:block;font-size:14px;font-weight:550}input,select,button{font:inherit}input:not([type=checkbox]):not([type=file]),select{display:block;width:100%;padding:10px 12px;border:1px solid #b8cbd6;border-radius:6px;background:#fff;color:var(--ink);margin-top:7px;min-height:45px}button{border:1px solid var(--line);background:white;color:var(--ink);padding:8px 13px;border-radius:6px;cursor:pointer;min-height:42px}button:hover{background:#edf4f7}button:disabled{opacity:.4;cursor:default}input:disabled,select:disabled{background:#f3f6f8;color:#768997}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);margin:0}.check{display:flex;align-items:center;gap:9px;font-weight:500}.monitor-toggle{margin-bottom:9px;min-height:22px}fieldset{border:0;padding:0;margin:0;min-width:0}.actions{display:flex;align-items:center;gap:16px;padding:4px 0 10px;flex-wrap:wrap}.primary{background:var(--accent);color:#fff;border-color:var(--accent);padding:13px 24px;font-weight:650;display:flex;align-items:center;gap:32px}.primary:hover{background:#00556b}.text-button{color:var(--accent);border:0;background:transparent;padding:3px 8px}.file-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}.file-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px}.file-number{color:var(--accent);font-size:14px;font-weight:700}.file-controls{display:flex;gap:5px}.file-controls button{font-size:14px;padding:5px 10px}.file-row.dragging{opacity:.45}.hint{margin:16px 0 0}.result{margin-top:20px;background:white;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:24px}.result.error{border-left-color:#b13a36}.result.error #status{color:#a02824}.downloads{display:flex;gap:10px;flex-wrap:wrap}.downloads a{color:var(--accent);border:1px solid #afd0dc;border-radius:6px;padding:9px 13px;text-decoration:none;overflow-wrap:anywhere}.downloads a:hover{background:#eff8fb}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:20px;font-size:14px;text-align:left}th{color:var(--muted);font-weight:550;white-space:nowrap}th,td{padding:10px;border-bottom:1px solid var(--line)}td:first-child{overflow-wrap:anywhere;min-width:170px}td:not(:first-child){white-space:nowrap;font-variant-numeric:tabular-nums}footer{display:flex;justify-content:space-between;gap:16px;margin-top:32px;font-size:12px;color:var(--muted)}:focus-visible{outline:3px solid #59adcf;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:650px){header{padding:16px}.brand-caption{display:none}.local-badge{font-size:12px}main{padding:24px 16px}.range-note{display:none}.intro{margin-bottom:24px}.fields{grid-template-columns:1fr}.card{padding:18px}.file-row{flex-wrap:wrap}.file-name{flex-basis:75%}.file-controls{margin-left:auto}.actions .primary{width:100%;justify-content:space-between}.action-hint{font-size:12px}footer{flex-direction:column;gap:4px}.tabs button{flex:1;padding:12px}.section-heading>.muted{font-size:12px}}

.drag-handle{touch-action:none;cursor:grab;border:0;background:transparent;padding:4px 8px;font-size:22px;color:var(--muted);flex:none}.drag-handle:active{cursor:grabbing}.file-row.drop-target{box-shadow:inset 0 -3px var(--accent);background:#edf8fa}@media(max-width:650px){.file-name{flex-basis:60%}}
