:root{font-family:system-ui,-apple-system,sans-serif;color:#183b37;background:#f3f6f2;line-height:1.5;color-scheme:light}*{box-sizing:border-box}body{margin:0}header{padding:32px max(20px,calc((100% - 1080px)/2));background:#173e3b;color:#f1f7ef}header h1{font-size:clamp(26px,4vw,38px);line-height:1.2;margin:10px 0}header small{display:inline-block;font-size:13px;background:#e3b469;color:#253b32;padding:5px 8px;border-radius:5px;vertical-align:middle}.eyebrow{font-size:12px;letter-spacing:.12em}main{max-width:1120px;margin:auto;padding:20px}section{padding:24px;margin-bottom:20px;background:white;border:1px solid #d6dfd8;border-radius:12px;min-width:0}h2{font-size:20px;margin-top:0}label{display:block;margin:12px 0;font-weight:600}input,select,textarea,button,a#download{font:inherit;min-height:44px}input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:6px;border:1px solid #a8bbb1;border-radius:7px;padding:10px;background:#fff;color:#183b37;max-width:100%}input[type=file]{font-size:14px}textarea{min-height:92px;resize:vertical}input[type=checkbox]{width:20px;min-height:20px;margin:0 10px 0 0;flex-shrink:0}.check{display:flex;align-items:center;font-weight:400;gap:4px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 18px}.row{display:flex;gap:10px;flex-wrap:wrap}button,a#download{background:#1e554b;color:#fff;border:0;border-radius:7px;padding:11px 17px;cursor:pointer;margin:8px 6px 8px 0;font-weight:600}button.secondary{background:#e9efeb;color:#183b37}button:disabled{opacity:.55;cursor:wait}#status{padding:14px;background:#e4eddf;border-radius:7px;overflow-wrap:anywhere}#status.error{background:#f9e4dc;color:#742c1a}.muted{font-size:14px;color:#577168}p,code,.hash{overflow-wrap:anywhere}.card{border-top:1px solid #dce5df;padding:18px 0}.card h3{font-size:17px;margin:0 0 8px}.hash{font-family:ui-monospace,monospace;font-size:12px}.thumbs{display:flex;gap:12px;flex-wrap:wrap}.thumbs figure{width:150px;margin:0;font-size:12px;overflow-wrap:anywhere}.thumbs img{width:150px;height:105px;object-fit:contain;background:#edf1ee;border-radius:6px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.compare article{min-width:0;padding:15px;background:#f1f5ef;border-radius:8px}.compare img{width:100%;height:auto;max-height:420px;object-fit:contain}.compare .thumbs{display:block}.compare figure{width:100%;margin-bottom:14px}.compare figure img{width:100%;height:auto}.summary{border-left:5px solid #8aaf8c}#restoreWarning{color:#8c3c22}dialog{max-width:96vw;max-height:95dvh;width:1000px;border:1px solid #87998e;border-radius:10px;padding:18px}dialog::backdrop{background:#10251fc9}.fullImage{overflow:auto;max-height:72dvh}.fullImage img{display:block;max-width:100%;height:auto}footer{max-width:1120px;margin:auto;padding:20px;color:#577168;font-size:13px}a#download{display:inline-block}a#download[hidden],[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d39743;outline-offset:2px}@media(max-width:520px){main{padding:12px}section{padding:18px}.fields{grid-template-columns:1fr 1fr;gap:0 12px}.fields label{font-size:14px}.compare{grid-template-columns:repeat(2,minmax(240px,1fr));overflow-x:auto;max-width:100%}h2{font-size:19px}header{padding:24px 18px}input[type=file]{padding:8px}.thumbs figure,.thumbs img{width:130px}button{max-width:100%}}

/* Prevent intrinsic form widths from widening a 390px viewport. */
.fields>*{min-width:0}input,select,textarea{min-width:0}main,section,form{min-width:0}@media(max-width:520px){.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Contain native form overflow; chart comparison keeps its own horizontal scroller. */
html,body{width:100%;overflow-x:hidden}.fields input,.fields select{font-size:16px}
