@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes toolResultIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes wizardFadeIn{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.imageCompressPage{background:var(--color-bg-secondary,#f8fafc);color:var(--color-text-primary,#0f172a);min-height:100vh;padding:32px 5% 48px;transition:background .3s ease,color .3s ease}.imageCompressMainContent{margin:0 auto;max-width:960px}.imageCompress__dropzone{background:var(--color-bg-card,#fff);border:2px dashed var(--color-border,#e2e8f0);border-radius:16px;cursor:pointer;margin-bottom:24px;padding:24px;text-align:center;transition:border-color .15s cubic-bezier(.22,1,.36,1),background .15s cubic-bezier(.22,1,.36,1)}.imageCompress__dropzone:hover{background:rgba(37,99,235,.03);border-color:#2563eb}.imageCompress__dropzone_state_active{background:rgba(34,197,94,.06);border-color:#22c55e;border-style:solid}.imageCompress__dropzoneInner{align-items:center;display:flex;flex-direction:column;gap:8px;padding:48px 24px}.imageCompress__dropzoneIcon{color:var(--color-text-muted,#94a3b8);margin-bottom:8px;opacity:.6;transition:color .15s cubic-bezier(.22,1,.36,1),opacity .15s cubic-bezier(.22,1,.36,1)}.imageCompress__dropzone:hover .imageCompress__dropzoneIcon{color:#2563eb;opacity:1}.imageCompress__dropzone_state_active .imageCompress__dropzoneIcon{color:#22c55e;opacity:1}.imageCompress__dropzoneText{color:var(--color-text-primary,#0f172a);font-size:2rem;font-weight:600}.imageCompress__dropzoneSub{color:var(--color-text-secondary,#475569);font-size:1.6rem}.imageCompress__selectBtn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:1.6rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;transition:color .15s cubic-bezier(.22,1,.36,1)}.imageCompress__selectBtn:hover{color:#1d4ed8}.imageCompress__dropzoneHint{color:var(--color-text-muted,#94a3b8);font-size:1.4rem;margin-top:4px}.imageCompress__settings{background:var(--color-bg-card,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:16px;margin-bottom:24px;padding:24px}.imageCompress__settingsTitle{border-bottom:1px solid var(--color-border,#e2e8f0);color:var(--color-text-primary,#0f172a);font-size:2rem;font-weight:600;margin:0 0 16px;padding-bottom:8px}.imageCompress__settingsGrid{display:grid;gap:24px}.imageCompress__settingsField{display:flex;flex-direction:column;gap:8px}.imageCompress__label{color:var(--color-text-secondary,#475569);display:block;font-size:1.5rem;font-weight:500;margin-bottom:4px}.imageCompress__radioGroup{display:flex;flex-wrap:wrap;gap:8px}.imageCompress__radio{align-items:center;cursor:pointer;display:inline-flex}.imageCompress__radio input[type=radio]{height:0;opacity:0;position:absolute;width:0}.imageCompress__radio span{align-items:center;background:var(--color-bg-input,#f1f5f9);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:var(--color-text-secondary,#475569);display:inline-flex;font-size:1.5rem;font-weight:500;justify-content:center;min-height:40px;padding:8px 16px;transition:all .15s cubic-bezier(.22,1,.36,1)}.imageCompress__radio input:checked+span{background:rgba(37,99,235,.1);border-color:#2563eb;color:#2563eb;font-weight:600}.imageCompress__radio input:focus-visible+span{outline:2px solid #2563eb;outline-offset:2px}.imageCompress__radio:hover span{border-color:#cbd5e1}.imageCompress__slider{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--color-border,#e2e8f0);border-radius:4px;cursor:pointer;height:8px;width:100%}.imageCompress__slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:#2563eb;border-radius:50%;box-shadow:0 2px 6px rgba(37,99,235,.3);cursor:pointer;height:20px;-webkit-transition:box-shadow .15s cubic-bezier(.22,1,.36,1);transition:box-shadow .15s cubic-bezier(.22,1,.36,1);width:20px}.imageCompress__slider::-webkit-slider-thumb:hover{box-shadow:0 2px 10px rgba(37,99,235,.5)}.imageCompress__slider::-moz-range-thumb{background:#2563eb;border:none;border-radius:50%;cursor:pointer;height:20px;width:20px}.imageCompress__sliderLabels{color:var(--color-text-muted,#94a3b8);display:flex;font-size:1.4rem;justify-content:space-between}.imageCompress__customInput{background:var(--color-bg-input,#f1f5f9);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:var(--color-text-primary,#0f172a);font-size:1.6rem;line-height:1.5;margin-top:4px;max-width:200px;padding:14px 18px;transition:border-color .15s cubic-bezier(.22,1,.36,1),background .15s cubic-bezier(.22,1,.36,1);width:100%}.imageCompress__customInput::-moz-placeholder{color:var(--color-text-muted,#94a3b8)}.imageCompress__customInput::placeholder{color:var(--color-text-muted,#94a3b8)}.imageCompress__customInput:focus{border-color:var(--color-accent,#2563eb);box-shadow:0 0 0 1px var(--color-accent,#2563eb);outline:none}.imageCompress__customInput:focus-visible{outline:none}.imageCompress__checkLabel{align-items:center;color:var(--color-text-secondary,#475569);cursor:pointer;display:flex;font-size:1.5rem;font-weight:500;gap:8px}.imageCompress__checkbox{accent-color:#2563eb;cursor:pointer;height:18px;width:18px}.imageCompress__checkbox:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.imageCompress__fileList{background:var(--color-bg-card,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:16px;margin-bottom:24px;padding:24px}.imageCompress__fileListHeader{align-items:center;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:8px}.imageCompress__fileListTitle{color:var(--color-text-primary,#0f172a);font-size:2rem;font-weight:600;margin:0}.imageCompress__fileCount{color:var(--color-text-muted,#94a3b8);font-size:1.5rem;font-weight:500}.imageCompress__cards{display:flex;flex-direction:column;gap:16px}.imageCompress__fileCard{align-items:center;background:var(--color-bg-input,#f1f5f9);border:1px solid var(--color-border,#e2e8f0);border-radius:12px;display:grid;gap:16px;grid-template-columns:64px 1fr auto;padding:16px;transition:border-color .15s cubic-bezier(.22,1,.36,1)}.imageCompress__fileCard:hover{border-color:#cbd5e1}@media(max-width:768px){.imageCompress__fileCard{grid-template-columns:48px 1fr;grid-template-rows:auto auto}}.imageCompress__fileThumb{background:var(--color-bg-secondary,#f8fafc);border-radius:8px;height:64px;-o-object-fit:cover;object-fit:cover;width:64px}@media(max-width:768px){.imageCompress__fileThumb{height:48px;width:48px}}.imageCompress__fileInfo{min-width:0}.imageCompress__fileName{color:var(--color-text-primary,#0f172a);font-size:1.5rem;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imageCompress__fileMeta{align-items:center;color:var(--color-text-secondary,#475569);display:flex;flex-wrap:wrap;font-size:1.4rem;gap:8px}.imageCompress__fileSize{font-family:Inter,Roboto Mono,monospace;font-size:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.imageCompress__fileArrow{color:var(--color-text-muted,#94a3b8)}.imageCompress__fileSizeCompressed{color:#22c55e;font-family:Inter,Roboto Mono,monospace;font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.01em}.imageCompress__fileSizeCompressed_state_larger{color:#eab308}.imageCompress__fileReduction{background:rgba(34,197,94,.12);border-radius:999px;color:#22c55e;font-family:Inter,Roboto Mono,monospace;font-size:1.4rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em;padding:2px 8px}.imageCompress__fileReduction_state_larger{background:rgba(234,179,8,.12);color:#eab308}.imageCompress__fileDimensions{color:var(--color-text-muted,#94a3b8);font-size:1.4rem}.imageCompress__fileActions{align-items:center;display:flex;gap:8px}@media(max-width:768px){.imageCompress__fileActions{grid-column:1/-1;justify-content:flex-end}}.imageCompress__fileCompareBtn,.imageCompress__fileDownloadBtn{align-items:center;background:transparent;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:var(--color-text-secondary,#475569);cursor:pointer;display:inline-flex;height:48px;height:40px;justify-content:center;min-height:48px;min-height:40px;min-width:48px;min-width:40px;transition:border-color .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1),background .15s cubic-bezier(.22,1,.36,1);width:48px;width:40px}.imageCompress__fileCompareBtn:hover,.imageCompress__fileDownloadBtn:hover{background:rgba(37,99,235,.08);border-color:#2563eb;color:#2563eb}.imageCompress__fileCompareBtn:active,.imageCompress__fileDownloadBtn:active{background:rgba(37,99,235,.12)}.imageCompress__fileCompareBtn:focus-visible,.imageCompress__fileDownloadBtn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.imageCompress__fileCompareBtn:disabled,.imageCompress__fileDownloadBtn:disabled{cursor:not-allowed;opacity:.5}.imageCompress__fileCompareBtn svg,.imageCompress__fileDownloadBtn svg{height:20px;height:18px;width:20px;width:18px}.imageCompress__fileDownloadBtn{border-color:#22c55e;color:#22c55e}.imageCompress__fileDownloadBtn:hover{background:rgba(34,197,94,.08)}.imageCompress__fileCard_state_processing{opacity:.7}.imageCompress__fileCard_state_error{background:rgba(239,68,68,.03);border-color:rgba(239,68,68,.3)}.imageCompress__progress{background:var(--color-border,#e2e8f0);border-radius:2px;grid-column:1/-1;height:4px;margin-top:4px;overflow:hidden}.imageCompress__progressBar{animation:imageCompressProgress 1.2s ease-in-out infinite;background:linear-gradient(90deg,#2563eb,#22c55e);border-radius:2px;height:100%;transition:width .15s cubic-bezier(.22,1,.36,1)}@keyframes imageCompressProgress{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.imageCompress__fileStatus{font-size:1.4rem;font-weight:500}.imageCompress__fileStatus_type_processing{color:#2563eb}.imageCompress__fileStatus_type_done{color:#22c55e}.imageCompress__fileStatus_type_error{color:#ef4444}.imageCompress__footer{background:var(--color-bg-card,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:16px;display:flex;flex-direction:column;gap:24px;margin-bottom:24px;padding:24px}.imageCompress__result{background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.2);border-radius:12px;color:var(--color-text-primary,#0f172a);font-size:1.6rem;line-height:1.8;padding:16px;text-align:center}.imageCompress__resultHighlight{color:#22c55e;font-family:Inter,Roboto Mono,monospace;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em}.imageCompress__footerActions{display:flex;gap:16px;justify-content:center}@media(max-width:768px){.imageCompress__footerActions{flex-direction:column}}.imageCompress__downloadAllBtn{align-items:center;background:#2563eb;background:#22c55e;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1.6rem;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:14px 28px;text-decoration:none;transition:background .15s cubic-bezier(.22,1,.36,1),box-shadow .15s cubic-bezier(.22,1,.36,1)}.imageCompress__downloadAllBtn:hover{background:#1d4ed8;box-shadow:0 4px 14px rgba(37,99,235,.15)}.imageCompress__downloadAllBtn:active{background:#1555e2}.imageCompress__downloadAllBtn:focus-visible{outline:2px solid #1d4ed8;outline-offset:2px}.imageCompress__downloadAllBtn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.imageCompress__downloadAllBtn:hover{background:#34dc72;box-shadow:0 4px 12px rgba(34,197,94,.3)}.imageCompress__clearBtn{align-items:center;background:transparent;border:1px solid var(--color-border,#e2e8f0);border-radius:8px;color:var(--color-text-primary,#0f172a);cursor:pointer;display:inline-flex;font-size:1.6rem;font-weight:600;gap:8px;justify-content:center;min-height:48px;padding:14px 28px;text-decoration:none;transition:border-color .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1),background .15s cubic-bezier(.22,1,.36,1)}.imageCompress__clearBtn:hover{background:rgba(37,99,235,.08);border-color:#2563eb;color:#2563eb}.imageCompress__clearBtn:active{background:rgba(37,99,235,.12)}.imageCompress__clearBtn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.imageCompress__clearBtn:disabled{cursor:not-allowed;opacity:.5}.imageCompress__modal{align-items:center;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:9999}.imageCompress__modal[hidden]{display:none}.imageCompress__modalBackdrop{background:rgba(0,0,0,.7);bottom:0;left:0;position:absolute;right:0;top:0}.imageCompress__modalContent{background:var(--color-bg-card,#fff);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:90vh;max-width:800px;overflow-y:auto;padding:24px;position:relative;width:100%}.imageCompress__modalClose{background:none;border:none;color:var(--color-text-muted,#94a3b8);cursor:pointer;position:absolute;right:16px;top:16px;transition:color .15s cubic-bezier(.22,1,.36,1);z-index:1}.imageCompress__modalClose:hover,.imageCompress__modalTitle{color:var(--color-text-primary,#0f172a)}.imageCompress__modalTitle{font-size:1.8rem;font-weight:600;margin:0 0 16px}.imageCompress__compareContainer{background:repeating-conic-gradient(#f0f0f0 0 25%,#fff 0 50%) 50%/16px 16px;border-radius:12px;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.imageCompress__compareImg{display:block;height:auto;width:100%}.imageCompress__compareOverlay{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0;width:50%}.imageCompress__compareOverlay .imageCompress__compareImg{height:100%;left:0;min-width:100%;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;width:100%}.imageCompress__compareSlider{background:#fff;bottom:0;box-shadow:0 0 4px rgba(0,0,0,.3);cursor:ew-resize;left:50%;position:absolute;top:0;transform:translateX(-50%);width:4px;z-index:10}.imageCompress__compareHandle{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.3);color:#475569;display:flex;height:40px;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}.imageCompress__compareLegend{color:var(--color-text-muted,#94a3b8);display:flex;font-size:1.4rem;font-weight:500;justify-content:space-between;margin-top:8px}.imageCompress__modeBadge{align-items:center;border-radius:12px;display:flex;font-size:1.5rem;font-weight:600;gap:8px;line-height:1.4;margin-bottom:24px;padding:10px 16px;transition:all .4s ease}.imageCompress__modeBadge_state_loading{background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.2);color:#2563eb}.imageCompress__modeBadge_state_wasm{background:rgba(34,197,94,.06);border:1px solid rgba(34,197,94,.25);color:#22c55e}.imageCompress__modeBadge_state_standard{background:rgba(234,179,8,.06);border:1px solid rgba(234,179,8,.25);color:#eab308}.imageCompress__modeBadgeIcon{flex-shrink:0;font-size:1.8rem;line-height:1}.imageCompress__modeBadgeSub{font-size:1.4rem;font-weight:400;margin-left:4px;opacity:.7}@media(max-width:768px){.imageCompress__modeBadgeSub{display:block;margin-left:0;margin-top:2px}}.imageCompress__codecBadge{align-items:center;background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.2);border-radius:999px;color:#2563eb;display:inline-flex;font-size:10px;font-weight:600;letter-spacing:.03em;padding:1px 6px;text-transform:uppercase}.imageCompress__resultMode{align-items:center;border-radius:999px;display:inline-flex;font-size:1.4rem;font-weight:700;letter-spacing:.04em;margin-left:8px;padding:2px 8px}.imageCompress__resultMode_type_wasm{background:rgba(34,197,94,.12);color:#22c55e}.imageCompress__radio_state_disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.imageCompress__radio_state_disabled span{cursor:not-allowed}.imageCompress__radio_type_avif span{position:relative}.imageCompressToast{animation:toastSlideIn .3s ease forwards;background:#22c55e;border-radius:12px;bottom:24px;box-shadow:0 4px 12px rgba(0,0,0,.08);color:#fff;display:none;font-weight:500;padding:14px 24px;position:fixed;right:24px;z-index:1000}@media(max-width:640px){.imageCompressToast{bottom:16px;left:16px;right:16px;text-align:center}}.imageCompressToast_success{background:#22c55e;color:#fff;display:block}.imageCompressToast_success:before{content:"✓ "}.imageCompressToast_error{background:#ef4444;color:#fff;display:block}.imageCompressToast_error:before{content:"✕ "}.imageCompressToast_info{background:#2563eb;color:#fff;display:block}.imageCompressToast_info:before{content:"ⓘ "}.imageCompressToast_warning{background:#eab308;color:#fff;display:block}.imageCompressToast_warning:before{content:"⚠ "}