:root{--paper:#f7f5ef;--white:#fffefa;--ink:#24231f;--muted:#686257;--coral:#ef5b52;--yellow:#ffe678;--purple:#e1d3f4;--line:#d8d0bf;--red:#962f25;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-underline-offset:4px}button,a,input,select,textarea,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #755097;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}p,th,td{overflow-wrap:anywhere}.shell{width:min(1240px,calc(100% - 64px));margin-inline:auto;min-width:0}.skip{position:fixed;top:12px;left:12px;transform:translateY(-200%);z-index:10;background:var(--ink);color:white;padding:10px}.skip:focus{transform:none}.header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--coral);border:2px solid var(--ink);border-radius:6px;box-shadow:4px 4px var(--ink);padding:15px 22px;margin-top:24px}.brand{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:500;text-decoration:none;color:#fff;white-space:nowrap}.brand-mark{display:block;width:32px;height:32px;background:var(--yellow);border:2px solid var(--ink);border-radius:4px;padding:5px;color:var(--ink)}.header nav{display:flex;align-items:center;gap:24px}.all-tools{font-size:12px;font-weight:700;text-decoration:none}.languages{display:flex;border:1px solid var(--ink);border-radius:4px;padding:3px;background:#ffc4bb;gap:2px}.languages a{font-size:12px;font-weight:700;text-decoration:none;padding:4px 10px;min-height:30px;display:grid;place-items:center}.languages [aria-current=page]{background:var(--yellow);border-radius:2px}.hero{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:55px;padding:48px 0 35px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px}h1{font-size:clamp(44px,5.1vw,66px);letter-spacing:-2.8px;margin:16px 0 20px;line-height:1.03}h1 span{display:block}.accent{color:#ad4035}.intro{max-width:620px;font-size:16px;color:var(--muted);line-height:1.8}.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:21px}.tags span{background:#eee8d9;border:1px solid #c9bea7;border-radius:3px;padding:4px 8px;font-size:10px;font-weight:650}.process-card{background:var(--purple);border:2px solid var(--ink);border-radius:6px;box-shadow:4px 4px var(--ink);padding:24px}.process-card h2{font-size:22px;margin:17px 0 11px}.process-card p{font-size:12px;color:#554760}.flow{display:grid;grid-template-columns:1fr 30px 1fr;gap:10px;align-items:center}.flow-stack{display:grid;gap:5px;padding:11px;background:var(--white);border:2px solid var(--ink);box-shadow:3px 3px var(--ink);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;transform:rotate(-2deg)}.flow-stack:last-child{background:var(--yellow);transform:rotate(2deg)}.flow-stack span+span{border-top:1px solid #cbbd9b;padding-top:4px}.flow svg{width:28px}.privacy-line{margin-top:15px;padding-top:12px;border-top:1px solid #b7a2cb;font-weight:650}.workspace-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:7px 0 16px}.workspace-top h2{font-size:24px;letter-spacing:-.6px}.buttons{display:flex;flex-wrap:wrap;gap:9px;align-items:center}button,.file-button{border:1px solid var(--ink);border-radius:4px;padding:10px 14px;background:var(--white);font-size:12px;font-weight:700;cursor:pointer;min-height:42px;text-decoration:none}button:hover:not(:disabled),.file-button:hover{background:var(--purple)}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--yellow);box-shadow:2px 2px var(--ink)}.secondary{background:var(--purple)}.subtle{background:transparent;border-color:#a69b87}.work-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(310px,.9fr);gap:24px;align-items:stretch}.panel{border:2px solid var(--ink);border-radius:6px;box-shadow:4px 4px var(--ink);background:var(--white);padding:24px;min-width:0}.section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.step{display:grid;place-items:center;flex:0 0 32px;height:32px;border:1px solid var(--ink);border-radius:4px;background:var(--yellow);font-size:12px}.section-head h3{font-size:21px;letter-spacing:-.4px;margin-top:3px}.help{font-size:12px;color:var(--muted);line-height:1.75}.section-head .help{margin-top:7px}.input-panel{display:flex;flex-direction:column}.field{min-width:0}.field label,.field-label{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.field input,.field select,select{width:100%;min-width:0;max-width:100%;background:white;border:1px solid #ad9f88;border-radius:4px;padding:10px;min-height:44px;font-size:13px}.field input[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid var(--red);background:#fff1ec}.field input:disabled,.field select:disabled{background:#f0ede5}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.check{display:flex;align-items:flex-start;gap:10px;font-size:12px;cursor:pointer;line-height:1.7}.check input{flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;accent-color:#6c458b}.input-settings{margin-bottom:18px}.csv-settings{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end;margin-top:14px}.csv-settings .check{padding-bottom:10px}.input-label{display:flex;justify-content:space-between;gap:15px;align-items:baseline}.input-label .field-label{margin-bottom:7px}.input-label span:last-child{font-size:10px;color:var(--muted);text-align:right}textarea{display:block;resize:vertical;width:100%;min-height:250px;flex:1;background:#fbf9f2;border:1px solid #ad9f88;border-radius:4px;padding:14px;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;tab-size:4;white-space:pre;overflow:auto}.input-footer{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:14px}.file-label{position:relative;display:inline-block}.file-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.file-label:focus-within{outline:3px solid #755097;outline-offset:3px}.file-label span{pointer-events:none}.mapping-panel .field+.field{margin-top:17px}.mode-rule{font-size:11px;line-height:1.75;color:#62534b;background:#f6efe1;border-left:3px solid #b7945f;padding:10px 12px;margin-top:9px}.field .help{margin-top:7px}.conversion-buttons{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.conversion-buttons .primary{flex:1}.limit-note{font-size:10px;color:var(--muted);margin-top:16px}.status-bar{display:flex;align-items:flex-start;gap:14px;padding:18px 0 24px;min-height:70px}.status-light{width:9px;height:9px;border:1px solid var(--ink);border-radius:50%;background:var(--yellow);margin-top:7px;flex-shrink:0}.status-bar p{font-size:12px;flex:1}.status-bar.error .status-light{background:var(--coral)}.status-bar.error p{color:var(--red)}.progress{width:160px;max-width:40%;height:12px;margin-top:5px;accent-color:#8865a7}.result-section{min-width:0}.results-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin:10px 0 18px}.results-title h2{font-size:30px;letter-spacing:-.8px}.results-title p{margin-top:9px}.results-title a{font-size:11px;white-space:nowrap}.result-panel{padding:0;overflow:hidden}.totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:2px solid var(--ink)}.total{padding:20px 25px;background:#f1eddf}.total+.total{border-left:1px solid var(--ink)}.total.valid{background:#e8e0f2}.total.errors{background:#fff0d0}.total span{display:block;font-size:11px;font-weight:700}.total strong{display:block;font-size:32px;line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:-1px;margin-top:5px}.empty-state{display:grid;grid-template-columns:40px 1fr;gap:17px;align-items:center;padding:35px 28px}.empty-state svg{width:36px;height:36px}.empty-state h3{font-size:17px;margin-bottom:7px}.table-region{min-width:0;max-width:100%;width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.table-region:focus{outline-offset:-3px}table{border-collapse:collapse;text-align:left;width:100%;font-size:11px;table-layout:auto}caption{text-align:left;padding:13px 20px;background:#f6f1e5;font-size:11px;font-weight:650}thead{background:#ebe4d3}th,td{border-bottom:1px solid var(--line);padding:12px 14px;min-width:145px;vertical-align:top}th{font-weight:700;white-space:nowrap}th:first-child,td:first-child{min-width:60px;width:60px}th.derived{background:#e5d8f0}.cell-value{max-width:280px;max-height:105px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;min-width:100px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.row-error{background:#fff1e8}.row-status{font-weight:700;min-width:70px}.row-status.good{color:#47613a}.row-status.bad{color:#9b3329}.error-detail{min-width:240px;max-width:320px}.pager{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px;background:#fbf8ef}.pager p{font-size:11px}.pager .buttons{gap:6px}.pager button{min-height:36px;padding:6px 11px;font-size:11px}.export-panel{background:var(--purple);margin-top:24px;display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:center}.export-panel h3{font-size:23px;margin-bottom:11px}.export-panel .buttons{justify-content:flex-end}.export-panel .check{font-weight:650}.export-explanation{font-size:11px;color:#584663;line-height:1.8;margin:8px 0 0 28px}.export-warning{margin-top:10px;border:1px solid #ae5b3d;background:#fff0d1;color:#80391f;padding:10px 12px;font-size:11px}.guide{margin-top:48px}.guide h2,.faq h2{font-size:28px;letter-spacing:-.6px}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:25px}.guide article{border-top:3px solid var(--ink);padding-top:16px}.guide article:nth-child(2){border-color:var(--coral)}.guide article:nth-child(3){border-color:#9b76bd}.guide h3{font-size:16px;margin-bottom:11px}.guide p{font-size:12px;color:var(--muted)}.faq{margin:44px 0 35px}.faq h2{margin-bottom:20px}.faq details{border-top:1px solid #c9beaa;padding:16px 0}.faq details:last-child{border-bottom:1px solid #c9beaa}.faq summary{font-size:13px;font-weight:700;cursor:pointer}.faq details p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:13px;max-width:1020px}.faq a{color:#63417d}.footer{display:flex;justify-content:space-between;gap:18px;border-top:2px solid var(--ink);padding:22px 0 32px;font-size:11px;color:var(--muted)}.noscript{background:#ffe2d4;border:2px solid var(--red);padding:15px;margin-bottom:20px;font-size:13px}html[lang=zh-CN] h1{font-size:clamp(42px,4.8vw,60px);letter-spacing:-1px;line-height:1.15}@media(max-width:1000px){.shell{width:calc(100% - 44px)}.hero{gap:30px}.work-grid{grid-template-columns:minmax(0,1.1fr) minmax(285px,.9fr);gap:20px}.panel{padding:21px}.result-panel{padding:0}.flow{grid-template-columns:1fr 22px 1fr;gap:6px}.flow-stack{font-size:10px;padding:8px}.flow svg{width:22px}.export-panel{grid-template-columns:1fr}.export-panel .buttons{justify-content:flex-start}.process-card{padding:22px}.grid-two{grid-template-columns:1fr}.csv-settings{grid-template-columns:1fr}.csv-settings .check{padding-bottom:0}}@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:34px;gap:28px}.process-card{display:grid;grid-template-columns:1fr 1.3fr;gap:25px;align-items:center}.process-card h2{margin-top:0}.flow{max-width:280px}.work-grid{grid-template-columns:1fr}.grid-two,.csv-settings{grid-template-columns:1fr 1fr}.csv-settings .check{padding-bottom:9px}.mapping-panel .field+.field{margin-top:15px}.mapping-panel{display:block}.input-panel textarea{min-height:230px}.conversion-buttons .primary{flex:initial;min-width:160px}.guide-grid{gap:18px}.header{padding:14px 16px}.brand{font-size:17px}.results-title h2{font-size:27px}.total{padding:17px 20px}.total strong{font-size:29px}}@media(max-width:520px){.shell{width:calc(100% - 28px)}.header{padding:12px 10px;margin-top:16px;gap:10px}.brand{font-size:14px;gap:6px}.brand-mark{width:28px;height:28px;padding:4px}.header nav{gap:0}.all-tools{display:none}.languages a{font-size:11px;padding:4px 7px}.hero{padding:31px 0 27px}h1{font-size:47px;letter-spacing:-2.1px}.intro{font-size:14px}.eyebrow{font-size:9px;letter-spacing:1.3px}.tags{gap:7px}.tags span{font-size:9px}.process-card{display:block;padding:20px}.flow{max-width:260px;margin-bottom:22px}.process-card h2{font-size:20px}.process-card p{font-size:11px}.workspace-top{display:block}.workspace-top h2{font-size:23px;margin-bottom:15px}.workspace-top .buttons{gap:8px}.workspace-top button{font-size:11px;padding:9px 12px}.panel{padding:20px 16px}.result-panel{padding:0}.section-head{gap:10px}.section-head h3{font-size:20px}.help,.field label,.field-label,.check{font-size:11px}.field input,.field select{font-size:12px}.grid-two{gap:12px}.csv-settings{gap:12px}.input-label{display:block}.input-label span:last-child{display:block;text-align:left;margin-bottom:8px}textarea{padding:11px;font-size:11px}.input-footer{align-items:flex-start;gap:10px}.input-footer .help{font-size:10px}.file-button{font-size:11px;padding:9px 11px;white-space:nowrap}.status-bar{gap:10px;padding-top:17px;padding-bottom:20px;flex-wrap:wrap}.status-bar p{font-size:11px}.progress{max-width:100%;width:100%;margin-left:19px}.results-title{display:block;margin-top:6px}.results-title h2{font-size:27px}.results-title a{display:inline-block;margin-top:10px}.total{padding:14px 12px}.total span{font-size:9px}.total strong{font-size:26px}.empty-state{padding:28px 18px;grid-template-columns:30px 1fr;gap:12px}.empty-state svg{width:28px;height:28px}.empty-state h3{font-size:15px}.empty-state p{font-size:11px}.pager{padding:14px 12px;align-items:flex-start;flex-wrap:wrap}.pager p{font-size:10px}.pager button{font-size:10px;padding:6px 10px}.export-panel{gap:20px;padding:20px 16px}.export-panel h3{font-size:21px}.export-explanation{font-size:10px}.export-panel .buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px}.export-panel button{font-size:11px;padding:9px 10px}.guide{margin-top:36px}.guide h2,.faq h2{font-size:25px}.guide-grid{grid-template-columns:1fr;gap:23px}.guide h3{font-size:15px}.guide p,.faq details p{font-size:11px}.faq{margin-top:35px}.faq summary{font-size:12px}.footer{font-size:10px}html[lang=zh-CN] h1{font-size:43px}.limit-note{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.header,.hero,#workspace,.export-panel,.guide,.faq,.footer,.pager{display:none!important}.shell{width:100%}.panel{box-shadow:none}.table-region{overflow:visible}.result-section{margin-top:0}table{font-size:9px}th,td{padding:5px;min-width:0}.cell-value{min-width:0;max-height:none}body{background:white}}
