:root{--ink:#123b38;--teal:#0b756c;--mint:#d9eee8;--cream:#f4f1e9;--line:#d6ddd8;--rust:#d4865a;--paper:#fffdfa;--night:#071f20;--night-2:#0b2d2c;--night-line:#d7eee729}*{box-sizing:border-box}body{background:var(--night);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(--night-line);color:#f6f1e7;background:#071f20f5;align-items:center;height:82px;padding:0 6vw;display:flex}.brand-mark{color:#b9e0d5;letter-spacing:1px;border:1px solid #9dd3c6a6;place-items:center;width:48px;height:48px;font-family:Georgia,serif;font-size:12px;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:18px}.brand-copy span{color:#8fb3ac;letter-spacing:.16em;text-transform:uppercase;margin-top:5px;font-size:10px}.version{border:1px solid var(--night-line);color:#9fbbb5;border-radius:999px;margin-left:auto;padding:6px 12px;font-size:11px}.hero{border-bottom:1px solid var(--night-line);background:radial-gradient(circle at 85% 20%,#257a6e42,#0000 35%),linear-gradient(125deg,#071f20 0%,#0b2d2c 62%,#103d38 100%);grid-template-columns:1.4fr .6fr;align-items:end;gap:8vw;min-height:430px;padding:78px 8vw 74px;display:grid}.eyebrow{color:var(--rust);letter-spacing:.2em;margin:0 0 16px;font-size:11px;font-weight:700}h1{color:#f7f2e8;letter-spacing:-.045em;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(42px,5.4vw,72px);font-weight:500;line-height:1.15}.hero-text{color:#aec8c1;max-width:680px;margin:26px 0 0;font-size:16px;line-height:1.85}.privacy-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0e;border:1px solid #b1e0d438;gap:16px;padding:24px;display:flex;box-shadow:0 24px 70px #0003}.shield{background:var(--teal);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.privacy-card strong{color:#eef6f2}.privacy-card p{color:#9dbbb4;margin:7px 0 0;font-size:13px;line-height:1.6}.workspace{width:min(1200px,90vw);margin:0 auto;padding:44px 0 76px}.steps{border-bottom:1px solid var(--night-line);color:#75938d;gap:42px;padding-bottom:22px;display:flex}.steps span{flex-direction:column;gap:5px;display:flex;position:relative}.steps b{letter-spacing:.06em;font-size:12px}.steps em{letter-spacing:.18em;color:#58756f;font-size:8px;font-style:normal}.steps .active b{color:#e49a70}.steps .active em{color:#b66f4c}.steps .done b{color:#7ec1b3}.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 #cad9d2d9;padding:32px;box-shadow:0 22px 60px #0003}.panel-heading{border-bottom:1px solid #e5e8e5;gap:16px;margin-bottom:24px;padding-bottom:20px;display:flex}.panel-heading>span,.result-title>span{color:#c97349;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:not(.section-kicker){color:#7b8b88;margin:7px 0 0;font-size:12px}.section-kicker{color:#b56540;letter-spacing:.2em;margin:0 0 7px;font-size:9px;font-weight:700;line-height:1}.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}.mode-switch{background:#f3f6f3;border:1px solid #cbd7d2;grid-template-columns:1fr 1fr;padding:4px;display:grid}.mode-switch button{color:#61736f;background:0 0;border:0;padding:11px 8px;font-size:12px;font-weight:700}.mode-switch button.selected{background:var(--teal);color:#fff;box-shadow:0 2px 8px #0d6b6429}.mode-note{color:#748682;margin:8px 0 2px;font-size:11px;line-height:1.55}.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{color:#fff;background:linear-gradient(135deg,#0b756c,#095c57);border:0;padding:15px 19px;font-weight:700;box-shadow:0 8px 20px #0b756c2e}.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:20px}.results-heading{justify-content:space-between;align-items:center;display:flex}.result-title{align-items:flex-start;gap:16px;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%}}
