:root{--ls-bg:#f7f7f2;--ls-paper:#fcfcf9;--ls-ink:#11191f;--ls-navy:#183950;--ls-navy-hover:#102a3b;--ls-muted:#5c6468;--ls-rule:#aeb4b4;--ls-rule-soft:#d6d9d5;--ls-soft:#e9ece8;--ls-placeholder:#6b7477;--ls-green:#294d3f;--ls-red:#8f2d2d;--ls-amber:#7a4b16;--ls-display:"Arial Narrow", Arial, "Helvetica Neue", sans-serif;--ls-mono:"Courier New", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ls-space-1:4px;--ls-space-2:8px;--ls-space-3:12px;--ls-space-4:16px;--ls-space-6:24px;--ls-space-8:32px;--ls-space-12:48px;--ls-space-16:64px;--ls-space-24:96px;color:var(--ls-ink);font-family:var(--ls-display);background:var(--ls-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--ls-bg)}body{background:var(--ls-bg);min-width:320px;min-height:100vh;margin:0;font-size:16px;line-height:1.5}button,input,textarea,select{font:inherit}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,.dropzone:focus-visible{outline:2px solid var(--ls-navy);outline-offset:2px}main{width:100%;max-width:1280px;margin:0 auto;padding:32px 36px 64px}.hero{gap:var(--ls-space-6);margin-bottom:var(--ls-space-6);border-top:1px solid var(--ls-rule);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:stretch;display:grid}.hero-copy,.hero-card,.panel{border:1px solid var(--ls-rule-soft);background:var(--ls-paper);box-shadow:none;border-radius:2px}.hero-copy{padding:var(--ls-space-12) var(--ls-space-8);border-top:0}.hero-card{padding:var(--ls-space-6);border-top:0;border-right-color:var(--ls-rule);align-self:end}.eyebrow,.card-label{margin:0 0 var(--ls-space-4);color:var(--ls-navy);font-family:var(--ls-mono);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.35}h1{letter-spacing:-.065em;max-width:900px;margin:0;font-size:clamp(50px,6vw,72px);font-weight:800;line-height:.91}h2,h3{margin:0}h2{letter-spacing:-.025em;font-size:28px;font-weight:800;line-height:1}.subhead{max-width:760px;margin:var(--ls-space-6) 0;color:var(--ls-muted);font-size:18px;line-height:1.55}.privacy-badge{margin:0 0 var(--ls-space-6);padding:var(--ls-space-2) var(--ls-space-3);border:1px solid var(--ls-rule);border-left:2px solid var(--ls-navy);background:var(--ls-soft);color:var(--ls-ink);border-radius:2px;font-weight:800;display:inline-flex}.how{gap:var(--ls-space-2);margin:0 0 var(--ls-space-6);color:var(--ls-ink);display:grid}.how p{margin:0}.how strong{color:var(--ls-navy);font-family:var(--ls-mono)}.cta-row{align-items:center;gap:var(--ls-space-3);flex-wrap:wrap;display:flex}.buy,.download,.primary,.sample-button{min-height:40px;padding:10px var(--ls-space-4);border:1px solid var(--ls-navy);border-radius:2px;justify-content:center;align-items:center;font-weight:800;line-height:1.2;text-decoration:none;display:inline-flex}.buy,.download,.primary{background:var(--ls-navy);color:#fff}.buy:hover,.download:hover,.primary:hover{background:var(--ls-navy-hover)}.primary:active,.buy:active,.download:active,.sample-button:active,.email-row button:active{transform:translateY(1px)}.secondary-buy{border-color:var(--ls-rule);color:var(--ls-navy);background:0 0}.secondary-buy:hover{background:var(--ls-soft);color:var(--ls-navy-hover)}.already-paid-link{min-height:40px;padding:0 var(--ls-space-1);color:var(--ls-navy);text-underline-offset:3px;background:0 0;border:0;font-size:12px;text-decoration:underline}.already-paid-link:hover{color:var(--ls-navy-hover)}.sample-button{background:var(--ls-navy);color:#fff;white-space:nowrap}.sample-button:hover{background:var(--ls-navy-hover)}.download:disabled{cursor:not-allowed;opacity:.55;background:var(--ls-muted)}button:disabled{cursor:not-allowed;opacity:.55}.export-warning,.validation-warning{margin:var(--ls-space-2) 0 0;color:var(--ls-red);font-weight:800}.validation-warning{padding:var(--ls-space-2) var(--ls-space-3);border:1px solid var(--ls-amber);background:var(--ls-paper);color:var(--ls-amber);border-radius:2px}.modal-backdrop{z-index:100;padding:var(--ls-space-6);background:#11191fb8;place-items:center;display:grid;position:fixed;inset:0}.unlock-modal{width:min(100%,520px);padding:var(--ls-space-8);border:1px solid var(--ls-rule);background:var(--ls-paper);border-radius:2px;position:relative}.unlock-modal h2{margin:0 40px var(--ls-space-4) 0;font-size:28px}.unlock-modal ol{padding-left:var(--ls-space-6);color:var(--ls-ink);margin:0}.unlock-modal li+li{margin-top:var(--ls-space-2)}.modal-close{top:var(--ls-space-3);right:var(--ls-space-3);border:1px solid var(--ls-rule);background:var(--ls-paper);width:40px;height:40px;color:var(--ls-muted);border-radius:2px;font-size:24px;line-height:1;position:absolute}.modal-close:hover{background:var(--ls-soft);color:var(--ls-ink)}.unlock-fallback{margin:var(--ls-space-6) 0 0;padding:var(--ls-space-4);border:1px solid var(--ls-rule-soft);background:var(--ls-bg);border-radius:2px}.unlock-fallback a{color:var(--ls-navy);font-weight:800}.unlock-note{margin:var(--ls-space-3) 0 0;color:var(--ls-green);font-weight:800}.full{width:100%}.machine-readable{margin-top:var(--ls-space-6);color:var(--ls-muted);font-family:var(--ls-mono);font-size:12px;line-height:1.45}.hero-card ul{padding-left:var(--ls-space-6);color:var(--ls-ink);margin:0;line-height:1.8}.workspace{gap:var(--ls-space-4);display:grid}.workspace-intro{gap:var(--ls-space-3);grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.notice{min-height:40px;padding:9px var(--ls-space-3);border:1px solid var(--ls-rule);background:var(--ls-paper);border-radius:2px;font-size:12px;line-height:1.45}.state-panel{align-items:center;gap:var(--ls-space-3);border-left:4px solid var(--ls-rule);background:var(--ls-paper);grid-template-columns:minmax(132px,auto) minmax(0,1fr);display:grid}.state-label{color:currentColor;font-family:var(--ls-mono);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.state-panel.state-empty{border-left-color:var(--ls-rule);color:var(--ls-muted)}.state-panel.state-warning{border-left-color:var(--ls-amber);color:var(--ls-amber)}.state-panel.state-error{border-left-color:var(--ls-red);color:var(--ls-red)}.state-panel.state-success{border-left-color:var(--ls-green);color:var(--ls-green);background:var(--ls-soft)}.input-grid,.results-grid{gap:var(--ls-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.panel{padding:var(--ls-space-4);overflow:hidden}.panel-head{justify-content:space-between;align-items:center;gap:var(--ls-space-4);margin-bottom:var(--ls-space-3);padding-bottom:var(--ls-space-2);border-bottom:1px solid var(--ls-rule-soft);display:flex}.panel-head h2{letter-spacing:-.01em;font-size:16px;line-height:1.2}.panel-head span{color:var(--ls-muted);font-family:var(--ls-mono);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700}.dropzone{place-items:center;gap:var(--ls-space-2);min-height:156px;padding:var(--ls-space-6);border:2px dashed var(--ls-navy);background:var(--ls-bg);text-align:center;border-radius:2px;display:grid}.dropzone:hover{background:var(--ls-soft)}.dropzone strong{font-size:18px}.dropzone small,.helper{color:var(--ls-muted);font-size:12px;line-height:1.45}textarea{width:100%;padding:var(--ls-space-3);resize:vertical;border:1px solid var(--ls-rule);background:var(--ls-bg);color:var(--ls-ink);font-family:var(--ls-mono);border-radius:2px;font-size:12px;line-height:1.45}::placeholder{color:var(--ls-placeholder)}.headers{gap:var(--ls-space-2);margin-top:var(--ls-space-4);display:grid}.headers strong{font-size:12px}.headers div{gap:var(--ls-space-2);flex-wrap:wrap;display:flex}code{padding:2px var(--ls-space-2);border:1px solid var(--ls-rule-soft);background:var(--ls-bg);color:var(--ls-ink);font-family:var(--ls-mono);border-radius:2px;font-size:12px}.mapping-list{border-top:1px solid var(--ls-rule-soft);gap:0;display:grid}.mapping-row{align-items:center;gap:var(--ls-space-2);padding:var(--ls-space-2) var(--ls-space-1);border:0;border-bottom:1px solid var(--ls-rule-soft);border-radius:0;grid-template-columns:minmax(150px,1fr) auto minmax(180px,1fr) 80px;display:grid}.target-name{font-family:var(--ls-mono);font-size:12px;font-weight:700}.arrow{color:var(--ls-muted)}select{min-width:0;min-height:40px;padding:var(--ls-space-2);border:1px solid var(--ls-rule);background:var(--ls-paper);color:var(--ls-ink);border-radius:2px}select:hover{border-color:var(--ls-navy)}.mapping-row small{color:var(--ls-muted);font-family:var(--ls-mono);font-variant-numeric:tabular-nums;text-align:right;font-size:10px;font-weight:700}.table-wrap{border:1px solid var(--ls-rule);background:var(--ls-paper);border-radius:0;overflow:auto}table{border-collapse:collapse;width:100%;min-width:680px;color:var(--ls-ink);font-variant-numeric:tabular-nums}th,td{border-right:1px solid var(--ls-rule-soft);border-bottom:1px solid var(--ls-rule-soft);height:34px;font-family:var(--ls-mono);text-align:left;white-space:nowrap;padding:7px 10px;font-size:12px;line-height:1.45}th{background:var(--ls-soft);color:var(--ls-navy);letter-spacing:.08em;text-transform:uppercase;font-size:10px;position:sticky;top:0}tbody tr:nth-child(2n){background:var(--ls-bg)}.numeric-column{text-align:right;font-variant-numeric:tabular-nums lining-nums}.summary-cards{margin-bottom:var(--ls-space-3);border:1px solid var(--ls-rule-soft);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.stat{gap:var(--ls-space-1);padding:var(--ls-space-3);border:0;border-right:1px solid var(--ls-rule-soft);background:0 0;border-radius:0;display:grid}.stat:last-child{border-right:0}.stat strong{font-family:var(--ls-mono);font-variant-numeric:tabular-nums;font-size:20px}.stat span{color:var(--ls-muted);font-family:var(--ls-mono);text-transform:uppercase;font-size:10px;font-weight:700}.issues{max-height:240px;overflow:auto}.issues p{margin:var(--ls-space-2) 0;color:var(--ls-muted);font-family:var(--ls-mono);font-size:12px}.clean{font-weight:800;color:var(--ls-green)!important}.export-card{align-content:start;gap:var(--ls-space-3);display:grid}.export-card p{margin:0}.download{width:100%}.workspace-results{gap:var(--ls-space-3);transform-origin:top;animation:.18s cubic-bezier(.22,1,.36,1) both workspace-reveal;display:grid}.workspace-ready{gap:var(--ls-space-3);padding:var(--ls-space-3);border:1px solid var(--ls-rule);background:var(--ls-bg)}.workspace-ready .workspace-intro{gap:var(--ls-space-2)}.workspace-ready .notice{min-height:42px}.workspace-ready .sample-button{background:#183950;padding:9px 14px}.workspace-ready .input-grid,.workspace-ready .results-grid{gap:var(--ls-space-3)}.workspace-ready .panel{border-color:var(--ls-rule-soft);background:var(--ls-paper)}.workspace-ready .dropzone{background:var(--ls-bg);border:2px dashed #183950;min-height:112px}.workspace-ready .dropzone:hover{background:var(--ls-soft);border-color:#102a3b}.workspace-ready textarea{background:var(--ls-bg)}.workspace-ready .mapping-panel,.workspace-ready .workspace-results>.panel,.workspace-ready .results-grid .panel{padding:var(--ls-space-4)}.workspace-ready .table-wrap{border-color:var(--ls-rule)}.workspace-ready .numeric-column{text-align:right;font-variant-numeric:tabular-nums lining-nums}@keyframes workspace-reveal{0%{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.workspace-results{animation:none}}.faq{margin-top:var(--ls-space-24);padding:var(--ls-space-12) 0 0;border-top:1px solid var(--ls-rule);background:0 0}.section-heading{margin-bottom:var(--ls-space-8)}.section-heading h2,.site-footer h2{letter-spacing:-.04em;font-size:clamp(32px,4vw,48px);font-weight:800;line-height:.98}.faq-grid{gap:var(--ls-space-8);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.faq-grid article{padding:var(--ls-space-4) 0 0;border-top:1px solid var(--ls-rule-soft);background:0 0}.faq-grid h3{margin:0 0 var(--ls-space-3);font-size:18px;line-height:1.2}.faq-grid p,.site-footer p{color:var(--ls-muted);margin:0;line-height:1.5}.site-footer{align-items:end;gap:var(--ls-space-12);margin-top:var(--ls-space-16);padding:var(--ls-space-12) 0 0;border-top:1px solid var(--ls-rule);color:var(--ls-ink);background:0 0;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);display:grid}.site-footer h2{margin:0 0 var(--ls-space-3)}.email-form{gap:var(--ls-space-2);display:grid}.email-form label{font-family:var(--ls-mono);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.email-row{gap:var(--ls-space-2);grid-template-columns:minmax(0,1fr) auto;display:grid}.email-row input{min-width:0;min-height:40px;padding:10px var(--ls-space-3);border:1px solid var(--ls-rule);background:var(--ls-paper);color:var(--ls-ink);border-radius:2px}.email-row button{min-height:40px;padding:10px var(--ls-space-4);border:1px solid var(--ls-navy);background:var(--ls-navy);color:#fff;border-radius:2px;font-weight:800}.email-row button:hover{background:var(--ls-navy-hover)}.email-form small{color:var(--ls-muted);font-family:var(--ls-mono);font-size:10px;line-height:1.45}.honeypot{position:absolute;left:-9999px}.site-footer .footer-meta{margin-top:var(--ls-space-4)}.footer-meta a,.privacy-back{color:var(--ls-navy);text-underline-offset:3px;font-weight:800}.privacy-page{max-width:900px}.privacy-back{margin-bottom:var(--ls-space-12);display:inline-block}.privacy-content{padding:var(--ls-space-12);border:1px solid var(--ls-rule-soft);border-top:2px solid var(--ls-navy);background:var(--ls-paper)}.privacy-content h1{max-width:none;font-size:clamp(44px,7vw,68px)}.privacy-content h2{margin-top:var(--ls-space-12);font-size:24px}.privacy-content p{color:var(--ls-muted)}.privacy-content .privacy-lead{margin:var(--ls-space-6) 0 0;color:var(--ls-ink);font-size:20px;line-height:1.55}.privacy-content code{overflow-wrap:anywhere}@media (width<=760px){main{padding:18px 18px 48px}.hero,.input-grid,.results-grid,.faq-grid,.site-footer{grid-template-columns:1fr}.hero{gap:0}.hero-copy,.hero-card{padding:var(--ls-space-6) 0;border-left:0;border-right:0}.hero-card{border-top:1px solid var(--ls-rule-soft)}.workspace-intro{grid-template-columns:1fr}.state-panel{gap:var(--ls-space-1);grid-template-columns:1fr}.sample-button{width:100%}.email-row,.mapping-row{grid-template-columns:1fr}.arrow{display:none}.mapping-row small{text-align:left}.faq{margin-top:var(--ls-space-16)}.site-footer{gap:var(--ls-space-8)}.privacy-content{padding:var(--ls-space-6)}}
