:root{--ink:#153c3b;--teal:#0d6b64;--mint:#dceee8;--cream:#f7f5ef;--line:#d8dfda;--rust:#b8623d;--paper:#fffdfa}*{box-sizing:border-box}body{background:var(--cream);color:#193735;margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.topbar{border-bottom:1px solid var(--line);background:#fffdfaf0;align-items:center;height:78px;padding:0 6vw;display:flex}.brand-mark{border:1px solid var(--teal);width:44px;height:44px;color:var(--teal);letter-spacing:1px;place-items:center;font-family:Georgia,serif;font-size:13px;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%}.brand-copy{flex-direction:column;margin-left:14px;display:flex}.brand-copy strong{letter-spacing:.08em;font-family:Georgia,Songti SC,serif;font-size:17px}.brand-copy span{color:#6d7f7c;letter-spacing:.14em;text-transform:uppercase;margin-top:4px;font-size:10px}.version{border:1px solid var(--line);color:#657874;border-radius:999px;margin-left:auto;padding:6px 11px;font-size:11px}.hero{border-bottom:1px solid var(--line);background:linear-gradient(120deg,#f8f5ee 0%,#eef4ef 68%,#d9ebe4 100%);grid-template-columns:1.4fr .6fr;align-items:end;gap:8vw;min-height:380px;padding:72px 8vw 68px;display:grid}.eyebrow{color:var(--rust);letter-spacing:.2em;margin:0 0 16px;font-size:11px;font-weight:700}h1{color:var(--ink);letter-spacing:-.04em;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(42px,5.6vw,76px);font-weight:500;line-height:1.14}.hero-text{color:#526d69;max-width:650px;margin:24px 0 0;font-size:16px;line-height:1.8}.privacy-card{background:#fffdfab8;border:1px solid #0d6b6440;gap:16px;padding:22px;display:flex;box-shadow:0 18px 55px #14464014}.shield{background:var(--teal);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.privacy-card strong{color:var(--ink)}.privacy-card p{color:#607773;margin:7px 0 0;font-size:13px;line-height:1.6}.workspace{width:min(1200px,90vw);margin:0 auto;padding:42px 0 72px}.steps{border-bottom:1px solid var(--line);color:#8a9896;letter-spacing:.06em;gap:30px;padding-bottom:20px;font-size:12px;display:flex}.steps span{position:relative}.steps .active{color:var(--rust);font-weight:700}.steps .done{color:var(--teal)}.panel-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:18px;margin-top:20px;display:grid}.panel,.results-panel{background:var(--paper);border:1px solid var(--line);padding:30px;box-shadow:0 7px 24px #20413d0a}.panel-heading{border-bottom:1px solid #e5e8e5;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.panel-heading>span{color:var(--rust);padding-top:4px;font-family:Georgia,serif;font-size:14px}h2{color:var(--ink);margin:0;font-family:Georgia,Songti SC,serif;font-size:25px;font-weight:500}.panel-heading p{color:#7b8b88;margin:7px 0 0;font-size:12px}.dropzone{text-align:center;cursor:pointer;background:#f4f8f4;border:1px dashed #9db5ae;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:35px;display:flex}.dropzone:hover{border-color:var(--teal);background:#eef6f1}.dropzone input{opacity:0;pointer-events:none;position:absolute}.upload-icon{background:var(--mint);width:58px;height:58px;color:var(--teal);border-radius:50%;place-items:center;margin-bottom:18px;font-size:28px;display:grid}.dropzone strong{overflow-wrap:anywhere;max-width:280px}.dropzone small{color:#778b87;margin-top:9px}.field-label{color:#48615e;margin:18px 0 8px;font-size:12px;font-weight:700;display:block}.with-note{justify-content:space-between;display:flex}.with-note small{color:#81918f;font-weight:400}select,textarea{color:#274946;background:#fff;border:1px solid #cbd7d2;outline:none;width:100%;padding:13px 14px}select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d6b6414}textarea{resize:vertical;min-height:112px;line-height:1.6}.column-list{flex-wrap:wrap;gap:8px;min-height:44px;display:flex}.column-option{color:#61736f;cursor:pointer;border:1px solid #d4dcd8;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:flex}.column-option.selected{color:var(--teal);background:#e7f1ed;border-color:#79a49b}.column-option input{accent-color:var(--teal)}.empty-hint{color:#98a4a2;font-size:12px}.variable-count{color:#748682;margin-top:6px;font-size:11px}.error{color:#9d4526;background:#fff0eb;padding:10px 12px;font-size:12px}.primary-button,.download-button{background:var(--teal);color:#fff;border:0;padding:14px 18px;font-weight:700}.primary-button{justify-content:space-between;width:100%;margin-top:20px;display:flex}.primary-button:hover,.download-button:hover{background:#095750}.results-panel{margin-top:18px}.results-heading{justify-content:space-between;align-items:center;display:flex}.download-button:disabled{cursor:not-allowed;background:#b8c4c1}.stats{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:26px 0 18px;display:grid}.stats div{border-right:1px solid var(--line);padding:17px 20px}.stats div:last-child{border:0}.stats span{color:#738582;margin-bottom:7px;font-size:11px;display:block}.stats strong{color:var(--ink);font-family:Georgia,serif;font-size:25px;font-weight:500}.result-empty{color:#84928f;text-align:center;background:#f8f8f4;align-content:center;place-items:center;gap:10px;min-height:210px;display:grid}.result-empty span{color:#9ab1ab;font-size:36px}.result-empty p{max-width:480px;font-size:13px;line-height:1.7}.table-wrap{border:1px solid var(--line);overflow:auto}table{border-collapse:collapse;width:100%;min-width:820px;font-size:12px}th{color:var(--ink);text-align:left;border-bottom:1px solid var(--line);background:#eaf2ee;padding:12px;position:sticky;top:0}td{vertical-align:top;border-bottom:1px solid #e6eae7;max-width:330px;padding:11px 12px;line-height:1.55}.muted{color:#a0aaa8}.preview-note{color:#788986;margin:10px 12px;font-size:11px}footer{color:#fff;background:#163d3a;justify-content:space-between;align-items:center;padding:30px 6vw;display:flex}footer div{flex-direction:column;gap:6px;display:flex}footer span,footer p{color:#acc4bf;margin:0;font-size:11px}@media (width<=820px){.hero{grid-template-columns:1fr;padding:52px 6vw}.panel-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}footer{flex-direction:column;align-items:flex-start;gap:22px}}@media (width<=520px){.topbar{padding:0 4vw}.brand-copy span{display:none}.workspace{width:94vw}.panel,.results-panel{padding:20px}.steps{gap:13px;font-size:10px}.results-heading{flex-direction:column;align-items:flex-start;gap:18px}.download-button{width:100%}}
