@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/archivo-vietnamese-wght-normal.3b352474.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/archivo-latin-ext-wght-normal.1a471e96.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/archivo-latin-wght-normal.2829ce62.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/instrument-sans-latin-ext-wght-normal.7db92424.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/_next/static/media/instrument-sans-latin-wght-normal.ae05c57c.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.66a2e865.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.88f8fd5b.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.651bc97e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.9533b520.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.110e2a76.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.7d495472.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.9faee8e8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.f14ffb91.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.60bbe6c8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-500-normal.994c9659.woff) format("woff");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.2a0db536.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-500-normal.d2ac083e.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.cd8df815.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-500-normal.e53d79b9.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.5a49cbe3.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-500-normal.f9f2cfdc.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/ibm-plex-mono-latin-500-normal.dece0821.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-500-normal.2258ff2f.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--ink:#182136;--ink-soft:#3c465e;--muted:#6b7183;--paper:#f6f5f1;--sheet:#fff;--rule:#e3dfd4;--line:#d8d3c6;--stamp:#b3261e;--stamp-dark:#8f1d17;--ok:#1d6b3f;--radius:10px;--font-display:"Archivo Variable",sans-serif;--font-body:"Instrument Sans Variable",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--stamp);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.wrap{max-width:1060px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:var(--paper);position:-webkit-sticky;position:sticky;top:0;z-index:20}.site-header .wrap{gap:24px;height:64px}.brand,.site-header .wrap{display:flex;align-items:center}.brand{gap:10px;text-decoration:none;font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:-.02em}.brand svg{flex:none}.brand .free-tag{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--stamp);border:1px solid;border-radius:3px;padding:1px 5px;letter-spacing:.08em;transform:rotate(-3deg)}.nav{margin-left:auto;display:flex;gap:22px;font-size:14.5px;font-weight:500}.nav a{text-decoration:none;color:var(--ink-soft)}.nav a:hover{color:var(--stamp)}.hero{padding:72px 0 56px;text-align:center;position:relative;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,var(--rule) 31px 32px)}.hero h1{font-family:var(--font-display);font-weight:800;font-size:clamp(34px,5.5vw,58px);letter-spacing:-.03em;line-height:1.05;max-width:760px;margin:0 auto 18px}.hero h1 .stamped{color:var(--stamp);position:relative;white-space:nowrap}.hero p{color:var(--ink-soft);font-size:18px;max-width:560px;margin:0 auto}.hero .privacy-line{margin-top:22px;font-family:var(--font-mono);font-size:12.5px;color:var(--muted);letter-spacing:.02em}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px;padding:40px 0 24px}.tool-card{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px 18px;text-decoration:none;display:block;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.tool-card:hover{transform:translateY(-2px);border-color:var(--stamp);box-shadow:0 6px 18px rgba(24,33,54,.08)}.tool-card .icon{color:var(--stamp);margin-bottom:12px}.tool-card h3{font-family:var(--font-display);font-size:16.5px;font-weight:700;letter-spacing:-.01em;margin-bottom:5px}.tool-card p{font-size:13.5px;color:var(--muted);line-height:1.45}.section-label{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:28px;margin-top:16px}.soon-list{display:flex;flex-wrap:wrap;gap:8px;padding:18px 0 56px}.soon-list span{font-size:13px;color:var(--muted);background:var(--sheet);border:1px dashed var(--line);border-radius:999px;padding:5px 13px}.tool-hero{padding:48px 0 8px;text-align:center}.tool-hero .eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--stamp)}.tool-hero h1{font-family:var(--font-display);font-weight:800;font-size:clamp(30px,4.5vw,46px);letter-spacing:-.03em;margin:10px 0}.tool-hero p{color:var(--ink-soft);font-size:17px;max-width:520px;margin:0 auto}.sheet{background:var(--sheet);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(24,33,54,.06);max-width:720px;margin:34px auto 0;padding:26px}.dropzone{border:2px dashed var(--line);border-radius:var(--radius);padding:44px 20px;text-align:center;color:var(--muted);transition:border-color .12s,background .12s}.dropzone.drag{border-color:var(--stamp);background:#fdf6f5}.dropzone strong{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}.dropzone .browse{color:var(--stamp);font-weight:600;text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;font-size:inherit}.dropzone .hint{font-family:var(--font-mono);font-size:12px;margin-top:10px}.file-list{list-style:none;margin-top:14px}.file-row{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;margin-top:8px;background:var(--paper)}.file-row .fname{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row .fmeta{color:var(--muted);flex:none}.file-row button{border:1px solid var(--line);background:var(--sheet);border-radius:6px;width:26px;height:26px;line-height:1;color:var(--ink-soft);flex:none}.file-row button:hover:not(:disabled){border-color:var(--stamp);color:var(--stamp)}.file-row button:disabled{opacity:.35;cursor:default}.controls{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px}.control label{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:var(--ink-soft)}.control input,.control select{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font:inherit;font-size:14px;background:var(--sheet);color:var(--ink)}.control input:focus,.control select:focus{border-color:var(--stamp);outline:none}.cta{margin-top:20px;width:100%;background:var(--stamp);color:#fff;border:none;border-radius:10px;padding:14px;font-family:var(--font-display);font-weight:700;font-size:16.5px;letter-spacing:.01em;transition:background .12s}.cta:hover:not(:disabled){background:var(--stamp-dark)}.cta:disabled{background:#cfc9bd;cursor:default}.status{margin-top:14px;font-family:var(--font-mono);font-size:13px;text-align:center;color:var(--muted)}.status.error{color:var(--stamp)}.results{margin-top:18px;border-top:1px dashed var(--line);padding-top:16px}.result-row{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:13px;padding:8px 0}.result-row .fname{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-row .delta{color:var(--ok)}.result-row a{background:var(--ink);color:#fff;text-decoration:none;border-radius:8px;padding:7px 14px;font-weight:500;flex:none}.result-row a:hover{background:var(--stamp)}.seo{max-width:720px;margin:56px auto 72px}.seo h2{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:-.02em;margin:40px 0 16px}.howto{list-style:none;counter-reset:step}.howto li{counter-increment:step;display:flex;gap:14px;padding:10px 0;align-items:baseline}.howto li:before{content:counter(step,decimal-leading-zero);font-family:var(--font-mono);color:var(--stamp);font-size:13px;flex:none}.faq details{border-bottom:1px solid var(--line);padding:14px 0}.faq summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary:after{content:"+";font-family:var(--font-mono);color:var(--stamp)}.faq details[open] summary:after{content:"–"}.faq details p{margin-top:8px;color:var(--ink-soft);font-size:15px}.private-note{display:flex;gap:12px;align-items:flex-start;background:var(--sheet);border:1px solid var(--line);border-left:3px solid var(--stamp);border-radius:8px;padding:14px 16px;margin-top:36px;font-size:14.5px;color:var(--ink-soft)}.site-footer{border-top:1px solid var(--line);padding:32px 0 44px}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:10px 26px;font-size:13.5px;color:var(--muted)}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--stamp)}.site-footer .spacer{flex:1 1}@media (max-width:640px){.site-header .wrap{height:56px}.nav{gap:14px;font-size:13.5px}.hero{padding:48px 0 36px}.sheet{padding:18px}}