:root{--ink:#10292c;--ink-muted:#526568;--teal:#176a64;--teal-dark:#115450;--copper:#bc6c45;--cream:#fbfaf6;--paper:#fff;--line:#dbe4de;--mint:#eef7f3;--shadow:0 18px 55px rgba(24,54,49,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-synthesis:none;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.58}a{color:var(--teal);text-underline-offset:3px}a:hover{color:var(--teal-dark)}.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px;z-index:100}.skip:focus{left:8px}.shell{max-width:1190px;margin:0 auto;padding:0 28px}.site-header{height:76px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,255,255,.93);position:relative;z-index:30;backdrop-filter:blur(16px)}.header-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;color:var(--ink);letter-spacing:-.5px;font-size:1.21rem}.brand-mark{width:32px;height:32px;background:var(--teal);color:white;display:grid;place-items:center;border-radius:10px;font-size:20px;transform:rotate(-7deg)}.site-nav{display:flex;gap:26px;align-items:center;flex-wrap:wrap}.site-nav a{color:var(--ink-muted);text-decoration:none;font-size:.9rem;font-weight:600}.site-nav a:hover{color:var(--teal)}.nav-pill{background:var(--ink);color:white!important;padding:10px 17px;border-radius:999px}.hero{padding:86px 0 65px;position:relative;overflow:hidden}.eyebrow{font-weight:800;color:var(--teal);letter-spacing:.12em;text-transform:uppercase;font-size:.77rem;display:flex;align-items:center;gap:8px}.eyebrow:before{content:"";background:var(--teal);width:26px;height:2px;display:inline-block}.hero h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.055em;font-weight:500;font-size:clamp(2.85rem,6vw,5.3rem);line-height:1.1;max-width:910px;margin:18px 0}.hero h1 em{font-style:normal;color:var(--teal)}.lede{color:var(--ink-muted);font-size:1.15rem;max-width:725px;line-height:1.8}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{border:1px solid var(--teal);background:var(--teal);border-radius:11px;color:white;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 21px;text-decoration:none;font-weight:700;font-size:.97rem;cursor:pointer;font-family:inherit;transition:.15s ease}.button:hover{background:var(--teal-dark);color:#fff;transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--teal)}.button.secondary:hover{background:var(--mint)}.button.ghost{background:#fff;color:var(--ink);border-color:var(--line)}.button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #db9a55;outline-offset:2px}.trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;color:var(--ink-muted);font-size:.83rem}.trust-row span:before{content:'✓';color:var(--teal);font-weight:800;margin-right:8px}.hero-art{margin-top:55px;background:linear-gradient(155deg,#e6eee8,#f8f6ee);border:1px solid var(--line);padding:35px;border-radius:24px;box-shadow:var(--shadow)}.preview-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;max-width:830px;margin:auto;box-shadow:0 14px 45px rgba(20,50,40,.08)}.mini-label,.kicker{font-size:.74rem;color:var(--teal);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.mini-heading{font-size:1.17rem;font-weight:750;margin:6px 0 18px}.preview-bars{display:grid;gap:16px}.preview-bars .row{display:grid;grid-template-columns:145px 1fr 90px;align-items:center;gap:16px;font-size:.81rem}.bar-track{height:12px;background:#eaf0ec;border-radius:30px;overflow:hidden}.bar-fill{height:100%;border-radius:30px;background:var(--teal)}.bar-fill.secondary{background:var(--copper)}.subtle{color:var(--ink-muted)}.section{padding:64px 0}.section.alt{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{max-width:770px;margin-bottom:30px}.section h2,.content h1,.tool-heading h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.045em;line-height:1.16}.section h2{font-size:clamp(2rem,3.7vw,3.1rem);margin:10px 0}.section-lede{color:var(--ink-muted);font-size:1.02rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.card{background:#fff;border:1px solid var(--line);padding:27px;border-radius:17px;box-shadow:0 6px 24px rgba(18,41,40,.025)}.card h3{margin:12px 0;font-size:1.18rem;letter-spacing:-.02em}.card p{color:var(--ink-muted);font-size:.94rem}.card-icon{font-size:1.5rem;color:var(--teal)}.card-link{display:inline-block;margin-top:10px;font-size:.91rem;font-weight:700}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{padding:24px 0;border-top:3px solid var(--teal)}.step-number{color:var(--copper);font-family:Georgia,serif;font-size:2rem}.step p{color:var(--ink-muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.callout{border:1px solid #cce3d7;background:var(--mint);border-radius:17px;padding:24px}.callout strong{color:#14544e}.callout.warning{background:#fff7ed;border-color:#f0dcc3}.callout.warning strong{color:#7c4c25}.small{font-size:.82rem}.muted{color:var(--ink-muted)}.content{max-width:850px;margin:0 auto;padding:55px 28px 85px}.content h1,.tool-heading h1{font-size:clamp(2.6rem,5vw,4rem);margin:12px 0 20px}.content h2{font-size:1.65rem;letter-spacing:-.03em;margin-top:40px}.content p,.content li{font-size:1.04rem;color:#344d4e}.content ul{padding-left:23px}.content li{margin-bottom:9px}.content .lead{font-size:1.2rem;color:var(--ink-muted)}.content table,.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.content table th,.content table td,.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left}.content table th,.data-table th{color:#40605b;background:#f2f6f3;font-weight:700}.tool-main{padding:48px 0 90px}.tool-heading{max-width:860px;margin-bottom:28px}.tool-heading p{font-size:1.05rem;color:var(--ink-muted)}.tool-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:24px;align-items:start}.tool-panel{border:1px solid var(--line);background:#fff;border-radius:19px;padding:27px;box-shadow:var(--shadow);min-width:0}.tool-panel h2{font-size:1.25rem;margin:2px 0 12px}.tool-panel p{color:var(--ink-muted);font-size:.9rem}.form-group{margin:16px 0}.form-group label{display:block;font-weight:750;font-size:.86rem;margin-bottom:7px}.form-group input,.form-group textarea{width:100%;border-radius:9px;border:1px solid #cbd8d2;padding:11px 12px;font:inherit;color:var(--ink);background:#fff}.form-group textarea{min-height:160px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre;font-size:.82rem;resize:vertical}.form-group .hint{display:block;font-size:.76rem;color:var(--ink-muted);margin-top:6px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}.tool-status{padding:13px 16px;border-radius:9px;background:#eef4f3;color:#1f5953;font-size:.88rem;margin:15px 0}.tool-status.error{background:#fff0ed;color:#993e30}.tool-status.success{background:#e8f6ee;color:#215842}.results{margin-top:30px}.results canvas{display:block;max-width:100%;border:1px solid var(--line);border-radius:11px}.chart-key{display:flex;gap:16px;flex-wrap:wrap;font-size:.81rem;color:var(--ink-muted);margin:10px 0}.legend-line{width:20px;height:3px;display:inline-block;vertical-align:middle;margin-right:6px;background:var(--teal)}.legend-line.orange{background:var(--copper)}.legend-line.dash{height:2px;background:repeating-linear-gradient(to right,var(--teal) 0 6px,transparent 6px 10px)}.overflow-table{overflow-x:auto}.data-table{font-variant-numeric:tabular-nums;min-width:650px}.data-table th{white-space:nowrap}.warning-list{padding-left:20px;font-size:.88rem;color:#75502d}.warning-list li{margin-bottom:7px}iframe.pdf{border:1px solid var(--line);border-radius:9px;width:100%;height:280px;background:#f5f5f5}.risk-note{border-left:3px solid #d4aa73;padding:4px 14px;margin:20px 0;color:#6f542e;font-size:.86rem}.side-detail{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:.87rem;color:var(--ink-muted)}.field-set{border:0;margin:0;padding:0}.field-set legend{font-weight:800}.pill{border-radius:99px;background:#e5f1eb;color:#235c54;padding:5px 10px;font-size:.74rem;font-weight:800;display:inline-block}.footer{background:#123537;color:#e5f0ed;padding:48px 0 30px}.footer a{color:#e0eee7}.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:35px}.footer h3{color:white;font-size:1rem}.footer small{color:#a7beb9}.footer p{color:#c2d0cb}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:9px 0}.footer-bottom{margin-top:32px;padding-top:20px;border-top:1px solid #3b585a;color:#bfd0cb;font-size:.8rem}.banner{background:#fff5e6;border-bottom:1px solid #f0daba;color:#77532b;padding:10px 0;font-size:.81rem}.banner .shell{display:flex;gap:10px;align-items:center}.pro-box{border:1px solid var(--line);background:white;border-radius:18px;padding:28px;max-width:610px}.check-list li{margin-bottom:8px}.footnote{font-size:.81rem!important;color:var(--ink-muted)!important}.zh-badge{font-size:.8rem;color:var(--teal);font-weight:800}.page-links{display:grid;gap:10px;margin-top:25px}.page-links a{background:white;border:1px solid var(--line);border-radius:9px;padding:14px 17px;text-decoration:none;font-weight:650}.page-links a:hover{background:var(--mint)}@media(max-width:960px){.tool-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.site-nav{gap:14px}.site-nav a{font-size:.83rem}}@media(max-width:680px){.shell{padding:0 18px}.site-header{height:auto;min-height:66px}.header-wrap{flex-direction:column;align-items:flex-start;padding:12px 0}.site-nav{gap:12px}.site-nav a{font-size:.76rem}.nav-pill{padding:6px 11px}.hero{padding:60px 0 38px}.hero h1{font-size:2.9rem}.hero-art{padding:12px}.preview-panel{padding:17px}.preview-bars .row{grid-template-columns:95px 1fr 50px;gap:7px;font-size:.68rem}.cards,.steps,.footer-grid{grid-template-columns:1fr}.section{padding:40px 0}.form-row{grid-template-columns:1fr}.tool-panel{padding:19px}.content{padding:35px 18px 65px}}@media print{.site-header,.banner,.footer,.action-row,.tool-heading,.tool-grid>.tool-panel:nth-child(2),.form-group,.risk-note{display:none!important}.tool-grid{display:block}.tool-panel{border:0;box-shadow:none;padding:0}.results{display:block!important}.data-table{font-size:10px}.tool-status{display:none}.shell{max-width:100%}}

.preview-value-a{display:block;width:64%}.preview-value-b{display:block;width:100%}
/* v0.2 evidence results and professional batch */
.source-evidence{margin:1.3rem 0;padding:1rem;background:#fff;border:1px solid #dfebe6;border-radius:14px;max-height:450px;overflow:auto}
.source-evidence:empty{display:none}
.source-evidence .data-table{font-size:.78rem}
.source-evidence td{vertical-align:top;word-break:break-word}
.source-evidence .button{margin-top:.7rem}
#batch-files{display:block;margin:1rem 0;max-width:100%}
#batch-status{margin:1rem 0;padding:1rem;background:#eef6f1;border-radius:12px;line-height:1.6}
@media(max-width:680px){.source-evidence{max-height:300px}}

/* v0.2.2 reviewed, row-level PDF provenance */
.work-steps{padding:14px 17px;background:#edf5f1;border:1px solid #d4e6df;border-radius:11px;font-size:.87rem;color:#254d49;line-height:1.8;margin-bottom:16px}
.mapping-review{padding:15px 0;border-bottom:1px solid #dbe9e3}.mapping-review h3{font-size:1rem;margin:0 0 9px}.mapping-state{font-size:.82rem;font-weight:600;color:#335d55}.mapping-review select{width:100%;border:1px solid #bfd3c9;border-radius:8px;padding:10px;margin:9px 0}
.mapping-row,.mapping-attestation{display:flex;gap:10px;align-items:flex-start;margin:10px 0;padding:10px 8px;background:#f6faf8;border-radius:9px;font-size:.8rem;line-height:1.5;cursor:pointer}
.mapping-row input,.mapping-attestation input{flex:0 0 17px;margin:3px 0 0;accent-color:#176a64}.mapping-row span{min-width:0}.mapping-row small{display:block;color:#64716d;overflow-wrap:anywhere;font-size:.7rem;margin:4px 0 0}
.mapping-attestation{border:1px solid #e8cfa5;background:#fff8ee}.candidate-details{margin:13px 0}.candidate-details summary{cursor:pointer;font-weight:650;font-size:.82rem}
.mapping-source-output{margin:16px 0;border:1px solid #d4e6df;border-radius:12px;padding:15px;background:#f7fbf9;font-size:.83rem}.mapping-source-output p{margin:7px 0}.mapping-source-output .data-table{min-width:580px}
.legend-line.dash-orange{background:repeating-linear-gradient(to right,var(--copper) 0 6px,transparent 6px 10px)}
@media print{.mapping-source-output{display:block!important}.candidate-details{display:none!important}}
