:root{color-scheme:light;--ink:#163653;--muted:#52677a;--paper:#fff;--bg:#edf3f8;--blue:#245fd3;--green:#267352;--line:#cfdae5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55}
*{box-sizing:border-box}body{margin:0}button,input,a,summary{-webkit-tap-highlight-color:transparent}a{color:var(--blue)}button,label.choose,a.download{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,label.choose:has(+input:focus-visible){outline:3px solid #a3470d;outline-offset:4px}header{max-width:1160px;margin:auto;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:22px;font-weight:700;color:var(--ink)}.local-mark{font-size:.85rem;color:var(--muted)}main{max-width:1088px;margin:auto;padding:48px 0 24px}.intro{max-width:700px;margin-bottom:34px}h1{overflow-wrap:anywhere;font:500 clamp(2.5rem,5vw,3.6rem)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.035em;margin:0 0 20px}.intro p{font-size:1.12rem;max-width:580px;color:var(--muted)}h2{font-size:1.15rem;line-height:1.35;margin:0 0 10px}p{margin:0 0 16px}.workspace{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(220px,1fr);gap:40px;align-items:start}.sheet{background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--blue);border-radius:4px 4px 10px 10px;padding:28px;min-width:0}.dropzone{position:relative;text-align:center;border:1px dashed #a1b5cd;border-radius:5px;padding:24px 16px 8px}.dropzone.drag{background:#e9f0ff;border-color:var(--blue)}.file-art{width:53px;height:65px;stroke:var(--blue);stroke-width:2;fill:#edf3ff;margin-bottom:15px}.dropzone p{color:var(--muted);font-size:.93rem}.choose,button.primary,.download{background:var(--blue);color:white;border:1px solid var(--blue);border-radius:5px;display:inline-block;padding:11px 19px;font-weight:600;text-decoration:none;line-height:1.4}.choose:hover,.primary:hover,.download:hover{background:#184db6}.dropzone input{position:absolute;left:50%;bottom:45px;width:1px;height:1px;opacity:0}.dropzone .small{margin-top:14px}.small{font-size:.82rem;color:var(--muted)}.status{font-size:.9rem;margin:18px 0 0}.error{color:#913617;border-left:3px solid #b94e24;padding:8px 12px;margin-top:14px;background:#fff2ec;overflow-wrap:anywhere}aside{padding-top:8px}aside p,aside details{font-size:.9rem;color:var(--muted)}.preserved{list-style:none;padding:0;margin:18px 0 24px}.preserved li{padding:5px 0 5px 23px;position:relative;font-size:.93rem}.preserved li:before{content:'✓';color:var(--green);position:absolute;left:0;font-weight:700}summary{cursor:pointer;color:var(--ink)}details p{margin-top:12px}button{padding:9px 15px;border:1px solid var(--line);background:white;border-radius:5px;color:var(--ink)}.text-button{background:none;border:0;color:var(--blue);text-decoration:underline;text-underline-offset:3px;padding:4px 6px;font-size:.88rem}.file-heading{display:flex;gap:16px;justify-content:space-between;align-items:start}.file-heading h2{overflow-wrap:anywhere}.file-heading p{font-size:.9rem;color:var(--muted)}.policy{font-size:.9rem;background:var(--bg);padding:14px;border-radius:4px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions .primary{font-size:.92rem}progress{width:100%;height:8px;margin-top:20px;accent-color:var(--blue)}.result{margin-top:20px;padding-top:24px;border-top:1px solid var(--line)}.result h2{color:var(--green);font-size:1.35rem}.result #savings{font-size:1.05rem}.report{margin-top:36px}.report>p{color:var(--muted);font-size:.9rem}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.85rem}th{font-weight:600;background:#dfe8f2}td,th{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}td:first-child{overflow-wrap:anywhere;max-width:280px}td small{display:block;color:var(--muted);max-width:380px;margin-top:3px}td:nth-child(n+3){white-space:nowrap}footer{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;color:var(--muted);font-size:.82rem;display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}footer details{max-width:400px}footer p{margin:0}footer #offline-status{color:var(--green)}[hidden]{display:none!important}
@media(max-width:1160px){main{margin:0 36px}}@media(max-width:720px){header{padding:18px 20px}.local-mark{max-width:130px;text-align:right;font-size:.75rem}main{margin:0 20px;padding-top:32px}.workspace{grid-template-columns:1fr;gap:28px}.sheet{padding:18px}.intro{margin-bottom:25px}aside{padding:0 4px}h1{font-size:2.6rem}.file-heading{gap:8px}.actions{align-items:stretch}.actions button{max-width:100%}footer{gap:15px;flex-direction:column}.dropzone{padding:20px 10px 8px}td,th{padding:10px 8px}.report table{min-width:500px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.compression-controls{margin:18px 0}.compression-controls label{display:block;font-size:.88rem;font-weight:600;margin-bottom:5px}.compression-controls select{width:100%;margin-bottom:14px}select{font:inherit;color:var(--ink);background:white;border:1px solid var(--line);border-radius:5px;padding:9px;max-width:100%}select:focus-visible,.image-scroll:focus-visible{outline:3px solid #a3470d;outline-offset:3px}.report td button{font-size:.82rem;margin-top:8px;padding:5px 12px}.preview{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:5px;margin-top:28px;padding:24px;scroll-margin-top:20px}.preview .file-heading p{max-width:650px}.preview .file-heading button{flex-shrink:0}.preview-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px}.preview figure{margin:0;min-width:0}.preview figcaption{font-size:.9rem;font-weight:600;margin-bottom:8px}.image-scroll{overflow:auto;max-height:600px;border:1px solid var(--line);background-color:#f5f5f5;background-image:linear-gradient(45deg,#e5e5e5 25%,transparent 25%),linear-gradient(-45deg,#e5e5e5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5e5e5 75%),linear-gradient(-45deg,transparent 75%,#e5e5e5 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.image-scroll img{display:block;width:auto;max-width:100%;height:auto}.actual-size .image-scroll img{max-width:none;width:auto;height:auto}.preview>label{font-size:.9rem}@media(max-width:720px){.preview{padding:16px}.preview-pair{grid-template-columns:minmax(0,1fr)}.preview .file-heading{flex-wrap:wrap}.image-scroll{max-height:420px}}
