:root{--paper:#efeee3;--surface:#fbfaf3;--surface-2:#f6f4e8;--ink:#211f1a;--muted:#6b6852;--line:#c9c2a6;--line-strong:#a89f7c;--green:#1b5e45;--green-dark:#123f2f;--red:#9c3322;--red-dark:#7a2419;--font-mono:"IBM Plex Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.55}a{color:var(--green-dark)}button{cursor:pointer;font-family:inherit}:focus-visible{outline:3px solid var(--green);outline-offset:2px}.wrap{max-width:860px;margin:0 auto;padding:0 20px 64px}.letterhead{border-top:6px solid var(--green);border-bottom:1px solid var(--green);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:8px;padding:18px 0 16px;display:flex}.brand{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink);font-size:clamp(20px,4vw,26px);font-weight:700;text-decoration:none}.brand small{letter-spacing:1.5px;color:var(--muted);text-transform:none;margin-top:3px;font-size:11px;font-weight:400;display:block}.privacy-pill{font-family:var(--font-mono);letter-spacing:.3px;border:1px solid var(--line-strong);color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:11px}.sitenav{font-family:var(--font-mono);flex-wrap:wrap;gap:14px;padding:10px 0 0;font-size:12px;display:flex}.sitenav a{color:var(--muted);text-decoration:none}.sitenav a:hover{color:var(--green-dark);text-decoration:underline}.hero{padding:28px 0 8px}.hero h1{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.2px;margin:0 0 10px;font-size:clamp(22px,4.6vw,32px);line-height:1.25}.hero p{color:var(--muted);max-width:600px;margin:0;font-size:15px}.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-top:22px;padding:24px}.dropzone{border:2px dashed var(--line-strong);background:var(--surface-2);text-align:center;border-radius:6px;padding:28px 18px;transition:border-color .15s,background .15s}.dropzone.drag{border-color:var(--green);background:#eff5f0}.dropzone p{color:var(--muted);margin:0 0 14px;font-size:14px}.choose-btn{background:var(--green);color:#fff;letter-spacing:.2px;border:none;border-radius:4px;padding:11px 20px;font-size:14px;font-weight:600}.choose-btn:hover{background:var(--green-dark)}input[type=file]{display:none}.filename{font-family:var(--font-mono);color:var(--muted);margin-top:12px;font-size:12px}fieldset{border:none;margin:22px 0 0;padding:0}legend{font-family:var(--font-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding:0;font-size:11px}.seg{border:1px solid var(--line-strong);border-radius:4px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);color:var(--muted);border:none;border-right:1px solid var(--line-strong);padding:9px 16px;font-size:13px;font-weight:600}.seg button:last-child{border-right:none}.seg button.active{background:var(--green);color:#fff}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface);border:1px dashed var(--line-strong);color:var(--ink);font-size:12.5px;font-family:var(--font-mono);border-radius:4px;padding:8px 12px}.chip:hover{border-color:var(--green)}.chip.active{background:var(--green);border-color:var(--green);color:#fff}.preset-note{color:var(--muted);font-size:12.5px;font-family:var(--font-mono);min-height:16px;margin-top:10px}.row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.3px}.field input[type=number],.field select{font-family:var(--font-mono);border:1px solid var(--line-strong);background:#fff;border-radius:4px;width:120px;padding:9px 10px;font-size:14px}.field select{width:auto}.kb-suffix{font-family:var(--font-mono);color:var(--muted);margin-left:-6px;font-size:13px}.compress-btn{background:var(--ink);color:#fff;letter-spacing:.4px;text-transform:uppercase;border:none;border-radius:4px;width:100%;margin-top:22px;padding:13px 26px;font-size:14px;font-weight:700}.compress-btn:disabled{opacity:.55;cursor:wait}.compress-btn:not(:disabled):hover{background:var(--green-dark)}.status{font-family:var(--font-mono);color:var(--muted);text-align:center;min-height:18px;margin-top:12px;font-size:13px}.results{margin-top:24px;display:none}.results.show{display:block}.compare{flex-wrap:wrap;gap:18px;display:flex}.panel{flex:220px}.panel h3{font-family:var(--font-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px}.thumb-box{border:1px solid var(--line);background:#fff;border-radius:4px;padding:8px;position:relative}.thumb-box img{object-fit:contain;border-radius:2px;width:100%;height:auto;max-height:220px;display:block}.size-tag{font-family:var(--font-mono);margin-top:8px;font-size:13px}.stamp{border:3px solid var(--green);color:var(--green);font-family:var(--font-mono);letter-spacing:1px;mix-blend-mode:multiply;background:#ffffff8c;border-radius:4px;padding:5px 10px;font-size:13px;font-weight:800;animation:.3s cubic-bezier(.2,1.4,.4,1) both stampIn;position:absolute;top:10px;right:10px;transform:rotate(-8deg)}.stamp.over{border-color:var(--red);color:var(--red)}@keyframes stampIn{0%{opacity:0;transform:scale(2.2)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.stamp{animation:none}}.download-link{background:var(--green);color:#fff;border-radius:4px;margin-top:18px;padding:11px 22px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}.download-link:hover{background:var(--green-dark)}.reset-link{font-family:var(--font-mono);color:var(--muted);background:0 0;border:none;margin-top:18px;margin-left:14px;font-size:12.5px;text-decoration:underline;display:inline-block}details.howit{color:var(--muted);margin-top:22px;font-size:13px}details.howit summary{cursor:pointer;font-family:var(--font-mono);letter-spacing:.5px;color:var(--ink);font-size:12px}details.howit p{margin:10px 0 0}.content-block{margin-top:36px}.content-block h2{font-family:var(--font-mono);letter-spacing:.4px;margin:0 0 10px;font-size:16px}.content-block p{color:var(--ink);margin:0 0 12px;font-size:14.5px}.mistake-box{border-left:3px solid var(--red);color:var(--ink);margin-top:14px;padding-left:12px;font-size:14px}.mistake-box strong{font-family:var(--font-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--red-dark);margin-bottom:4px;font-size:11px;display:block}.specs{margin-top:36px}.specs h2{font-family:var(--font-mono);letter-spacing:.8px;text-transform:uppercase;margin-bottom:6px;font-size:14px}.specs .sub{color:var(--muted);margin-bottom:14px;font-size:12.5px}table{border-collapse:collapse;width:100%;font-size:13px}caption{text-align:left;color:var(--muted);margin-bottom:6px;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:9px 10px}th{font-family:var(--font-mono);letter-spacing:.6px;text-transform:uppercase;color:var(--muted);font-size:11px}tr:last-child td{border-bottom:none}td a,.linklist a{color:var(--green-dark);text-decoration:none}td a:hover,.linklist a:hover{text-decoration:underline}.linklist{font-family:var(--font-mono);flex-wrap:wrap;gap:10px 18px;margin-top:10px;font-size:13px;display:flex}.faq dt{font-family:var(--font-mono);margin-top:14px;font-size:13.5px;font-weight:700}.faq dd{color:var(--ink);margin:6px 0 0;font-size:14px}.disclaimer{color:var(--muted);border-left:3px solid var(--line-strong);margin-top:14px;padding-left:12px;font-size:12px}footer.sitefooter{border-top:1px solid var(--line);color:var(--muted);font-size:12px;font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:48px;padding-top:18px;display:flex}footer.sitefooter a{color:var(--muted)}@media (max-width:560px){.row{flex-direction:column;align-items:stretch}.field input[type=number]{width:100%}}
