.image-compressor{--ic-primary:#3D8C79;--ic-primary-dark:#2B7061;--ic-surface:#ECF5F2;--ic-ink:#2B7061;--ic-muted:rgba(43, 112, 97, 0.72);--ic-line:rgba(43, 112, 97, 0.18);--ic-line-strong:rgba(43, 112, 97, 0.34);--ic-danger:#b42318;--ic-danger-soft:#fff3f1;--ic-success:#2B7061;--ic-success-soft:#ECF5F2;width:min(90vw, 1900px);max-width:none;margin-left:50%;margin-right:0;transform:translateX(-50%);color:var(--ic-ink);font-family:"Poppins",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.55}.image-compressor,.image-compressor *{box-sizing:border-box}.image-compressor button,.image-compressor input{font:inherit}.image-compressor__card{position:relative;isolation:isolate;width:100%;margin-inline:auto;overflow:hidden;border:1px solid rgb(43 112 97 / .15);border-radius:10px;background:rgb(255 255 255 / .94);box-shadow:0 24px 68px rgb(43 112 97 / .08)}.image-compressor__card::before,.image-compressor__card::after{position:absolute;z-index:0;width:48%;height:58%;border-radius:50%;content:"";pointer-events:none;filter:blur(70px)}.image-compressor__card::before{top:-22%;left:-16%;background:rgb(61 140 121 / .14)}.image-compressor__card::after{right:-16%;bottom:-24%;background:rgb(43 112 97 / .1)}.image-compressor__limits,.image-compressor__workspace{position:relative;z-index:2}.image-compressor__limits{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:22px 30px 0}.image-compressor__limits span,.image-compressor__formats span{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ic-line-strong);border-radius:999px;background:rgb(236 245 242 / .92);color:#2B7061;font-weight:700;letter-spacing:.045em;line-height:1;text-transform:uppercase;backdrop-filter:blur(8px)}.image-compressor__limits span{min-height:31px;padding:8px 12px;font-size:10px}.image-compressor__workspace{padding:20px 34px 30px}.image-compressor__form{margin:0}.image-compressor__dropzone{position:relative;display:flex;min-height:380px;align-items:center;justify-content:center;flex-direction:column;padding:52px 28px;overflow:hidden;border:2px dashed rgb(43 112 97 / .46);border-radius:9px;background:radial-gradient(circle at 50% 46%,rgb(61 140 121 / .07),#fff0 42%),rgb(255 255 255 / .76);box-shadow:inset 0 0 0 1px rgb(236 245 242 / .52),0 12px 32px rgb(43 112 97 / .05);text-align:center;cursor:pointer;backdrop-filter:blur(8px);transition:border-color 180ms ease,background 180ms ease,box-shadow 180ms ease,transform 180ms ease}.image-compressor__dropzone::before{position:absolute;inset:0;border-radius:inherit;background:#fff0;content:"";pointer-events:none}.image-compressor__dropzone:hover,.image-compressor__dropzone.is-dragging{border-color:#2B7061;background:rgb(255 255 255 / .88);box-shadow:inset 0 0 0 4px rgb(61 140 121 / .05),0 15px 34px rgb(43 112 97 / .1);transform:translateY(-1px)}.image-compressor__upload-icon{position:relative;z-index:1;display:grid;width:78px;height:78px;place-items:center;margin-bottom:19px;border:1px solid rgb(43 112 97 / .18);border-radius:16px;background:#ECF5F2;color:#2B7061;box-shadow:0 14px 34px rgb(43 112 97 / .12)}.image-compressor__upload-icon svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.image-compressor__dropzone>strong{position:relative;z-index:1;display:block;color:#2B7061;font-size:clamp(22px, 3vw, 30px);font-weight:700;letter-spacing:-.03em;line-height:1.2}.image-compressor__dropzone-copy{position:relative;z-index:1;display:block;margin-top:7px;color:var(--ic-muted);font-size:15px}.image-compressor__browse-button{position:relative;z-index:1;display:inline-flex;min-height:48px;align-items:center;justify-content:center;margin-top:23px;padding:13px 24px;border-radius:8px;background:linear-gradient(135deg,#3D8C79,#2B7061);color:#ECF5F2;font-size:14px;font-weight:700;box-shadow:0 12px 24px rgb(43 112 97 / .2);transition:transform 160ms ease,box-shadow 160ms ease}.image-compressor__dropzone:hover .image-compressor__browse-button{box-shadow:0 15px 28px rgb(43 112 97 / .25);transform:translateY(-1px)}.image-compressor__formats{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:18px}.image-compressor__formats span{min-height:25px;padding:6px 10px;font-size:10px}.image-compressor input[type="file"]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.image-compressor__files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.image-compressor__files:empty{display:none}.image-compressor__file{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--ic-line);border-radius:8px;background:rgb(236 245 242 / .94);box-shadow:0 6px 18px rgb(43 112 97 / .055)}.image-compressor__file span{min-width:0;overflow:hidden;color:#2B7061;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.image-compressor__file small{flex:none;color:var(--ic-muted);font-size:12px}.image-compressor__submit-row{display:flex;justify-content:flex-end;margin-top:20px}.image-compressor__submit{display:inline-flex;min-width:240px;min-height:50px;align-items:center;justify-content:center;padding:13px 24px;border:0;border-radius:8px;background:linear-gradient(135deg,#3D8C79,#2B7061);color:#ECF5F2;font-family:"Poppins",ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 12px 26px rgb(43 112 97 / .18);transition:transform 160ms ease,box-shadow 160ms ease,opacity 160ms ease}.image-compressor__submit:not(:disabled):hover{box-shadow:0 15px 30px rgb(43 112 97 / .24);transform:translateY(-1px)}.image-compressor__submit:disabled{cursor:not-allowed;opacity:.42;box-shadow:none}.image-compressor__submit.is-ready{opacity:1;cursor:pointer;box-shadow:0 14px 30px rgb(43 112 97 / .24)}.image-compressor__submit.is-resetting{opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none}.image-compressor__status{display:none;margin-top:18px;padding:16px 18px;border:1px solid var(--ic-line);border-radius:8px;background:#ECF5F2;color:#2B7061;overflow-wrap:anywhere}.image-compressor__status.is-visible{display:block}.image-compressor__status.is-error{border-color:#f0bbb5;background:var(--ic-danger-soft);color:var(--ic-danger)}.image-compressor__status.is-success{border-color:rgb(43 112 97 / .28);background:#ECF5F2;color:#2B7061}.image-compressor__files,.image-compressor__status{transition:opacity 320ms ease,transform 320ms ease}.image-compressor__files.is-clearing,.image-compressor__status.is-clearing{opacity:0;transform:translateY(-8px) scale(.99);pointer-events:none}.image-compressor__download{display:inline-flex;min-height:43px;align-items:center;justify-content:center;margin-top:12px;padding:10px 16px;border-radius:8px;background:linear-gradient(135deg,#3D8C79,#2B7061);color:#ECF5F2!important;font-weight:700;text-decoration:none!important;box-shadow:0 10px 22px rgb(43 112 97 / .18)}.image-compressor__spinner{display:inline-block;width:15px;height:15px;margin-right:8px;border:2px solid rgb(236 245 242 / .42);border-top-color:#ECF5F2;border-radius:50%;animation:image-compressor-spin 0.7s linear infinite;vertical-align:-2px}@keyframes image-compressor-spin{to{transform:rotate(360deg)}}@media (max-width:1024px){.image-compressor{width:min(94vw, 1180px)}}@media (max-width:780px){.image-compressor__workspace{padding:18px 20px 22px}.image-compressor__dropzone{min-height:330px;padding:42px 20px}.image-compressor__files{grid-template-columns:1fr}}@media (max-width:520px){.image-compressor{width:calc(100vw - 24px);font-size:14px}.image-compressor__card,.image-compressor__dropzone{border-radius:7px}.image-compressor__limits{padding:16px 14px 0}.image-compressor__workspace{padding:14px}.image-compressor__dropzone{min-height:300px;padding:34px 14px}.image-compressor__upload-icon{width:68px;height:68px;border-radius:14px}.image-compressor__submit-row{justify-content:stretch}.image-compressor__submit{width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.image-compressor__dropzone,.image-compressor__browse-button,.image-compressor__submit,.image-compressor__files,.image-compressor__status{transition:none}}